File.each_line是一个很好的引用,但返回迭代器的变量不是最佳的,因为它留下了一个打开的文件描述符.这种方法可能会被删除.
然而,这种方法的屈服变体对此有好处:
lines = [] of String
index = 0
range = 200..300
File.each_line(file, chomp: true) do |line|
index += 1
if range.includes?(index)
lines << line
end
end
Run Code Online (Sandbox Code Playgroud)
现在lines保持行,range并且index是文件中总行数.