Ruby gets.chomp и разница в $stdin.gets.chomp
filename = ARGV.first
txt = open(filename)
puts "Here's your file #{filename}:"
print txt.read
print "Type the filename again: "
file_again = $stdin.gets.chomp
Вот мой вопрос, если я изменю его на gets.chomp
это не работает, почему?
txt_again = open(file_again)
print txt_again.read
В чем разница между gets.chomp
а также $stdin.chomp
1 ответ
По ядру # получает документы (выделено мое):
Возвращает (и присваивает $_) следующую строку из списка файлов в ARGV (или $*) или из стандартного ввода, если в командной строке нет файлов.
В вашем случае ARGV не пусто, поэтому Kernel#gets
относится к этому: