Рубиновый переключатель между файлом и стандартным вводом - PullRequest
3 голосов
/ 19 января 2010

Как бы вы создали переменную, которая могла бы быть прочитана. Он будет читать из определенного файла, если он существует, в противном случае он будет читать со стандартного ввода. Что-то вроде:

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

Это не работает, но я думаю, что это следует делать довольно часто, но я не могу найти хороший способ сделать это.

Ответы [ 3 ]

4 голосов
/ 19 января 2010

Это у вас работает?

input = File.exist?("file.txt") ? File.open("file.txt") : STDIN
1 голос
/ 19 января 2010

Я думаю, что у ruby ​​есть возможность обрабатывать аргументы, которые не используются до первого использования STDIN, как если бы это были имена файлов для файлов, переданных в стандартный ввод.

...