如何在Ruby脚本中检查STDIN输入?

我需要检查在一个Ruby脚本中是否存在STDIN输入,就像mysql命令一样.如果没有指向STDIN,则脚本不应尝试读取STDIN.

如何以跨平台方式进行?

最佳答案
这是在Linux中做的很多事情:

#!/usr/bin/env ruby

str = (STDIN.tty?) ? 'not reading from stdin' : $stdin.read
puts str

>> $ruby test.rb 
>> not reading from stdin
>> $echo "reading from stdin" | ruby test.rb 
>> reading from stdin

转载注明原文:如何在Ruby脚本中检查STDIN输入? - 代码日志