web-dev-qa-db-ja.com

Rubyの「sys.stdout.write()」に相当するものは何ですか?

Pythonで見られるように、Rubyのsys.stdout.write()に相当するものは何ですか?

27
matt jack

Rubyでは、$stdoutまたはSTDOUTを使用して標準出力にアクセスできます。したがって、次のように write メソッドを使用できます。

$stdout.write 'Hello, World!'

または同等に:

STDOUT.write 'Hello, World!'

$stdoutは、実際にはデフォルト値がSTDOUTであるグローバル変数です。

putsを使用することもできますが、これはPythonのprintに似ていると思います。

47
E.M.
puts "Hello, world!"

またはprint-バッファリングされているため。

6
philant

puts (または print 改行が必要ない場合(\n)自動的に追加されます)。

5
Jordan Running

これは、stdinとstdoutへの書き込みと読み取りの両方に対応する1つのライナーです。

$ Ruby -e '$stdout.write "hi\n" '
hi

$ echo "somestring" | Ruby -e 'p  $stdin.read'
"somestring\n"

$ echo "somestring" | Ruby -e 'puts   $stdin.read'
somestring
0
zee