我正在尝试将文件中的前10行转换为字符串并将其写入另一个文件。
我有:
File.open("read_file.txt", "r") do |rf|
File.open("write.txt", "w") do |wf|
rf.each_line.with_index do |line, idx|
break if idx > 9
wf.puts(line)
end
end
end
是否有更优雅和有效的方式来打破指定数量的行
理想情况下像file.lines(3) : String
这样的东西会很好但是肯定不可用。
这是一种更优雅的方式(但我相信效率相同)
File.open "read_file.txt" do |io|
File.write "write.txt", io.each_line.first(10).join("\n")
end
使用File#read_lines
读取文件的行,然后取前10行:
File.read_lines("file")[0..9]