我将 irb 作为一次性文本预处理工具运行。我在打印文本时遇到了直接的麻烦。
foo = File.open "bar"
foo.each_line {|l| puts l}
这按预期打印并返回#<File:emails plaintext>
。
但是,如果我#each_line
再次调用同一个对象,则不会发生打印,尽管它仍然返回#<File:emails plaintext>
.
为什么File
对象的内容被调用覆盖#each_line
?我认为类似方法的存在理由#each
是确保不会发生突变。这样做的正确“红宝石方式”是什么?