我有一个txt文件,我想用ruby遍历其中的每一行数据,
但是代码写好之后,他只会打印出最后一行数据,请求帮我看一下,是什么问题,并给出正确的代码演示
代码和txt文件,如下


我有一个txt文件,我想用ruby遍历其中的每一行数据,
但是代码写好之后,他只会打印出最后一行数据,请求帮我看一下,是什么问题,并给出正确的代码演示
代码和txt文件,如下


关注该回答引用自GPT-4o,由博主小ᶻZ࿆编写:
在你提供的代码中,问题可能是因为每次调用 file.each_line 循环时并没有正确输出每一行的内容,而只是输出了最后一行数据。这种情况可能是因为 line 在每次循环时被覆盖,而最终只打印出最后一次的值。
可以通过确保每一行都被正确处理和打印来解决这个问题。以下是修正后的代码示例:
root_dir = File.expand_path('../../../', __FILE__) # 当前运行脚本,向上两层的位置
input_file = root_dir + '/vc_dispose/inpux.txt'
# 打开并读取文件中的每一行,指定编码为UTF-8
File.open(input_file, 'r:UTF-8') do |file|
line_number = 0 # 记录行号
file.each_line do |line|
line_number += 1
puts "Processing line #{line_number}: #{line.chomp}" # 输出行号和内容
end
end
此代码将正确输出每一行的内容及其对应的行号。
如果问题仍然存在,请确保:
如有帮助,题主可以帮忙采纳一下嘛,谢谢~