星辰儿啊 2024-09-09 12:17 采纳率: 42.4%
浏览 6

关于ruby,遍历txt文件的问题

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

代码和txt文件,如下

img

img

  • 写回答

1条回答 默认 最新

  • 小ᶻ☡꙳ᵃⁱᵍᶜ꙳ 优质创作者: 人工智能技术领域 2024-09-16 11:57
    关注

    该回答引用自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
    

    此代码将正确输出每一行的内容及其对应的行号。

    如果问题仍然存在,请确保:

    1. inpux.txt 文件的路径是正确的。
    2. 文件内容符合读取和处理的预期格式。

      如有帮助,题主可以帮忙采纳一下嘛,谢谢~

    评论

报告相同问题?

问题事件

  • 创建了问题 9月9日