Ruby |如何引用控制台对象



有没有一种方法可以将Ruby中的控制台作为对象引用
喜欢:

console.puts(value)

我想这样打印到控制台的原因是,我想制作一个可重复使用的功能,它可以打印到控制台或文件:

def put_value(obj, value)
obj.puts(value)
end
# To console
put_value(console, "Testing")
# To file
file = File.open("test.txt", "w")
put_value(file, "Testing")

使用STDOUT代替consoleSTDOUT将您连接到当前tty的输出流,将其输出管道到那里,并具有与IO相同的API(如下面的File(

def put_value(obj, value)
obj.puts(value)
end
# To console
put_value(STDOUT, "Testing")
#=> Testing
# To file
file = File.open("test.txt", "w")
put_value(file, "Testing")
#=> nil, but Testing is written to test.txt

相关内容

最新更新