Проблемы с передачей аргументов командной строки в скрипт Ruby и чтением из командной строки - PullRequest
3 голосов
/ 30 декабря 2011

Я сузил проблему до следующего простого фрагмента кода:

#!/usr/bin/env ruby

print "Enter your name: "
name = gets.chomp
puts "Hello #{name}"

Это прекрасно работает при вызове из терминала OS X, например ruby a.rb.Однако передача аргумента командной строки, подобного этой, ruby a.rb 123 вызывает эту ошибку:

a.rb:4:in `gets': No such file or directory - 123 (Errno::ENOENT)
    from a.rb:4

Моя цель - передать аргументы командной строки в сценарий и для чтения ввода с клавиатуры.

Что вызывает вышеуказанную ошибку?

1 Ответ

2 голосов
/ 30 декабря 2011

Нашел ответ здесь: Как одна и та же программа на ruby ​​может принимать ввод от пользователя, а также аргументы командной строки

Просто нужно было сделать ARGV.clear перед использованием gets.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...