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