1
Pry將領導.
的命令解釋爲系統命令並將其傳遞到shell。然而,這阻止了我執行代碼塊的代碼行數超過.
,這在我的代碼中非常頻繁。在pry中執行包含前導句點的語句
在IRB類似下面工作正常:
2.2.3 :001 > begin
2.2.3 :002 > "hello world"
2.2.3 :003?> .split(" ")
2.2.3 :004?> .map(&:upcase)
2.2.3 :005?> end
=> ["HELLO", "WORLD"]
在撬但是:
[6] pry(#<MailFetcherService>)> begin
[6] pry(#<MailFetcherService>)* "hello world"
[6] pry(#<MailFetcherService>)* .split(" ")
sh: -c: line 0: syntax error near unexpected token `" "'
sh: -c: line 0: `split(" ")'
Error: there was a problem executing system command: split(" ")
是否有辦法來解決此問題?我可以使用以下任何一種方式:
- 只有當系統命令前面沒有前導空格時,纔會將
.
解釋爲系統命令。 - 更改爲其他模糊分隔符而不是
.
用於系統命令 - 最後的方法:系統命令完全禁用 - 這不是我經常使用的功能。
我的主要問題是從我的代碼爲基礎的REPL嘗試的代碼塊。如果我必須編輯單行,我不妨改成點的位置。 – lorefnon
設置command_prefix並不能解決我的問題。你能否在我的問題中嘗試一下這個例子 - 如果它起作用,你正在使用的是什麼版本的pry。我已經將它添加到我的'.pryrc'中。直接在REPL中執行也不起作用。 – lorefnon
是的,這對於以句點開始的行不起作用,這就是問題所在。 –