什么是Ruby中的“sys.stdout.write()”等价物?

时间:2010-07-16 13:11:20

标签: python ruby stdout

从Python中可以看出,Ruby中的sys.stdout.write()等价物是什么?

4 个答案:

答案 0 :(得分:47)

在Ruby中,您可以使用$stdoutSTDOUT访问标准输出。所以你可以像这样使用write方法:

$stdout.write 'Hello, World!'

或等效地:

STDOUT.write 'Hello, World!'

$stdout实际上是一个全局变量,其默认值为STDOUT

您也可以使用puts,但我认为这更类似于python的print

答案 1 :(得分:6)

puts "Hello, world!"

print - 因为它已缓冲。

答案 2 :(得分:5)

puts(或print如果您不想自动附加换行符(\n)。

答案 3 :(得分:0)

这是一个用于从stdin和stdout写入和读取的衬里。

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

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

$ echo "somestring" | ruby -e 'puts   $stdin.read'
somestring