-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
しましたが、それは起こりませんでした。むしろ、それも印刷されました。
なぜこれらの違いを理解するのを誰かが助けてくれますか?