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
是的,这对于以句点开始的行不起作用,这就是问题所在。 –