链接到练习:http://learnrubythehardway.org/book/ex20.html
我无法理解练习的输出,它显示:
1, This is line 1
2, This is line 2
3, This is line 3
我不明白代码的哪个部分导致程序读取特定的行它怎么知道读第1行对第2行对第3行?
是否与此部分有关:
def print_a_line(line_count, f)
puts "#{line_count}, #{f.gets.chomp}"
end
我认为gets.chomp用于从命令行获取用户输入(并切断换行符)。
最佳答案
IO#gets
从一个newline完整的文件返回一行(作为字符串)(f.gets
在代码中)每次调用它,它都会返回文件的下一行。String#chomp
返回不带尾随换行符的新字符串:
"This is line 1\n".chomp
# => "This is line 1"
关于ruby - f.gets.chomp在做什么? (学习Ruby Hard Way:练习20),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38537893/