Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby |如何引用console对象_Ruby - Fatal编程技术网

Ruby |如何引用console对象

Ruby |如何引用console对象,ruby,Ruby,有没有办法将Ruby中的控制台作为对象引用? 比如: console.put(值) 我想这样打印到控制台的原因是,我想制作一个可重用的函数,它可以打印到控制台或文件: def put_值(obj,值) 实物期权(价值) 结束 #安慰 put_值(控制台,“测试”) #归档 file=file.open(“test.txt”、“w”) put_值(文件“测试”) 使用STDOUT代替控制台。 STDOUT将您连接到当前tty的输出流,将其输出到那里,并具有与IO相同的API(如下面的文件中所示)

有没有办法将Ruby中的控制台作为对象引用?
比如:

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