Я знаю, что это старый вопрос, но мне хотелось бы показать, что я использую в качестве стандартного метода ввода данных.
require 'readline'
def input(prompt="", newline=false)
prompt += "\n" if newline
Readline.readline(prompt, true).squeeze(" ").strip
end
Это действительно приятно, потому что, если пользователь добавляет странные пробелы в конце или в начале, он их удалит и сохранит историю того, что они вводили в прошлом (измените значение true
на, false
чтобы этого не было). И, если ARGV
не пусто, то gets
будет пытаться читать из файла ARGV
вместо получения ввода. Кроме того, Readline
это часть стандартной библиотеки Ruby, поэтому вам не нужно устанавливать какие-либо драгоценные камни. Кроме того, вы не можете перемещать курсор при использовании gets
, но можете с Readline
.
И я знаю, что метод - это не одна строка, а когда вы его вызываете
name = input "What is your name? "