-p
==> 假设循环像 -n 但打印行也像 sed。
现在我尝试在下面看看它是如何工作的:
@ubuntu:~$ ruby -p
hi #<~~ pressed on ENTER
# nothing printed baack
\t
-:5: syntax error, unexpected $undefined, expecting $end
@ubuntu:~$
在上面输入“hi”后,当我按“ENTER”时,上面有空行。我认为它会输出为hi。
现在我尝试了一些不同的方式:
@ubuntu:~$ ruby -p -e '"hi"'
hi #<~~ pressed on ENTER
hi
ttt #<~~ pressed on ENTER
ttt
\t #<~~ pressed on ENTER
\t
EOF #<~~ pressed on ENTER
EOF
但在这里它似乎-p
按预期工作。而是Loop
陷入了无限Loop
。我试图EOF
完成这个循环,但没有发生,而是它也被打印出来了。
谁能帮我理解为什么会有这些差异?