Я пытаюсь прочитать из файла, и поскольку мой более сложный код не работает, я вернулся к основам, чтобы увидеть, правильно ли он читается. Мой код:Ruby - STDIN.read
MyParser.new(STDIN.read).run.lines.each do |line|
p line.chomp
end
Я использую
ruby program
(она расположена в директории bin
и я спас его без .rb
)
Теперь программа ждет меня, чтобы написать что-то. Я типа:
../examples/file.txt
и использовать CTRL + Z
(я на Windows 10). Он производит ^Z
, и я попал в enter. Теперь у меня есть ошибка:
Invalid argument @ rb_sysopen - ../examples/file.txt (Errno::EINVAL)
MyParser
класс и вся его логика работает отлично. Я буду благодарен за любые намеки.
Возможный дубликат [рубин: \ ' read ': Недопустимый аргумент - (Errno :: EINVAL) в File.read] (http://stackoverflow.com/questions/10152273/ruby-read-invalid-argument-errnoeinval-at-fileread) – ndn
У меня есть видел этот и использовал line.chomp, ту же ошибку. – Jes
Пробовал ли вы 'MyParser.new (STDIN.read.strip) .whatever'? – ndn