-p
==> предположим, что цикл похож на -n, но строка печати также похожа на sed.
Теперь я попробовал ниже, чтобы увидеть, как это работает:
@ubuntu:~$ ruby -p
hi #<~~ pressed on ENTER
# nothing printed baack
\t
-:5: syntax error, unexpected $undefined, expecting $end
@ubuntu:~$
В приведенном выше примере после ввода «привет» при нажатии клавиши «ENTER» появляется пустая строка, как указано выше. Я думал, что на выходе будет привет.
Сейчас попробовал немного по другому:
@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
закончить этот цикл, но этого не произошло, а он тоже распечатался.
Может ли кто-нибудь помочь мне понять, почему эти различия?