0

我一直在尝试打开一个文件,读取内容,然后对该文件的内容进行编号并保存。例如,该文件包含:

This is line 1.

This is line 2.

This is line 3.

输出应该是:

  1. 这是第 1 行。
  2. 这是第 2 行。
  3. 这是第 3 行。

我对 ruby​​ 非常陌生,所以我只知道将行添加到数组中。但是现在我不知道如何将数字添加到数组的每个项目中。这是我所拥有的:

class AddNumbers
  def insert_numbers_to_file(file)
    @file_array = []
    line_file = File.open(file)
    line_file.each do |line|
      @file_array << [line]
    end
  end
end

任何帮助或提示将不胜感激。谢谢

4

2 回答 2

1

枚举器有一个#each_with_index可以使用的方法:

class AddNumbers
  def insert_numbers_to_file(file)
    @file_array = []
    File.open(file).each_with_index do |line, index|
      @file_array << "%d. %s" % [index, line]
    end
  end
end
于 2013-05-27T19:07:59.577 回答
0

魔术变量 $。是您在这里乘坐的车票:

class AddNumbers
  def insert_numbers_to_file(file)
    @file_array = []
    line_file = File.open(file)
    line_file.each do |line|
      @file_array << "#{$.}: #{line}"
    end
    @file_array
  end
end
于 2013-05-27T19:06:07.817 回答