Ruby |如何引用console对象
有没有办法将Ruby中的控制台作为对象引用?Ruby |如何引用console对象,ruby,Ruby,有没有办法将Ruby中的控制台作为对象引用? 比如: console.put(值) 我想这样打印到控制台的原因是,我想制作一个可重用的函数,它可以打印到控制台或文件: def put_值(obj,值) 实物期权(价值) 结束 #安慰 put_值(控制台,“测试”) #归档 file=file.open(“test.txt”、“w”) put_值(文件“测试”) 使用STDOUT代替控制台。 STDOUT将您连接到当前tty的输出流,将其输出到那里,并具有与IO相同的API(如下面的文件中所示)
比如:
console.put(值)
我想这样打印到控制台的原因是,我想制作一个可重用的函数,它可以打印到控制台或文件:
def put_值(obj,值)
实物期权(价值)
结束
#安慰
put_值(控制台,“测试”)
#归档
file=file.open(“test.txt”、“w”)
put_值(文件“测试”)
使用STDOUT
代替控制台
。
STDOUT
将您连接到当前tty的输出流,将其输出到那里,并具有与IO
相同的API(如下面的文件中所示)
使用STDOUT
代替控制台
。
STDOUT
将您连接到当前tty的输出流,将其输出到那里,并具有与IO
相同的API(如下面的文件中所示)
“控制台对象”是什么意思?有没有任何原因导致允许您写入任意IO
流的IO\puts
不适合您?不确定什么是IO\puts
。我对Ruby是新手。我想要的只是将标准输出流作为参数传递。你说的“控制台对象”是什么意思?有没有任何原因导致允许您写入任意IO
流的IO\puts
不适合您?不确定什么是IO\puts
。我对Ruby是新手。我所寻找的只是将标准输出流作为参数传递。或者,$stdout
(当前的标准输出流,stdout
只是原始输出流),或者如果控制台
按字面理解:。或者,$stdout
(当前的标准输出流,STDOUT
只是原始的一个)或者如果console
是按字面理解的话:。
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