Ruby切换文件和标准输入

3

如何创建一个可读的变量。如果存在特定文件,则从该文件读取,否则从标准输入读取。例如:

input = File.open("file.txt") || in

这个不起作用,但我认为这应该经常做,但我找不到一个好的方法来做。

3个回答

4
这个对你有用吗?
input = File.exist?("file.txt") ? File.open("file.txt") : STDIN

你也可以使用 $stdin 代替 STDIN - bta

3

尽管我讨厌晦涩的命名方案,但这非常有用。 - ezpz
同意。嗯,有ARGF。仍然有点晦涩,但不像$<那么糟糕。 - Wayne Conrad

1

我认为Ruby具有将未在STDIN首次使用之前使用的参数视为传递到标准输入的文件名的能力。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接