Ruby - 将文件中的每一行读取到对象并将对象添加到数组

cbu*_*ler 5 ruby ruby-on-rails

我对 Ruby 很陌生,正在尝试读取文件的每一行。我想使用每一行创建一个名为 LineAnalyzer 的对象,然后将该对象添加到名为analyzers 的数组中。

我正在尝试的代码是

Class Solution 
    attr_reader :analyzers;

    def initialize()
      @analyzers = Array[];
    end

    def analyze_file()
      count = 0;

      f = File.open('test.txt')

      #* Create an array of LineAnalyzers for each line in the file

      f.each_line { |line| la = LineAnalyzer.new(line, count) }
          @analyzers.push la;
          count += 1;   
      end
    end
end
Run Code Online (Sandbox Code Playgroud)

任何帮助或建议将不胜感激!

Har*_*edi 4

如果我理解正确的话,这应该有效:

class Solution 
    attr_reader :analyzers

    def initialize()
      @analyzers = []
    end

    def analyze_file()
      count = 0;
      File.open('test.txt').each_line do |line| 
          la = LineAnalyzer.new(line, count) 
          @analyzers.push la
          count += 1
      end
    end
end
Run Code Online (Sandbox Code Playgroud)

有点偏离问题,请注意 - 在红宝石中的大多数地方你不需要;. Ruby 很好,所以它不会抱怨它,但遵守标准约定是件好事。