有没有一种方法可以将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
代替console
。STDOUT
将您连接到当前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