从字符串数组创建对象数组

Make array of objects from array of strings

我有一个从文件中读取的字符串数组。

contents = File.readlines('foo.txt')

我可以用字符串创建一些对象

my_foo = Foo.new("some_text")

我需要制作一个对象数组 Foo,由字符串数组 contents 制作。我该怎么做?

这是您要找的吗?

contents.map {|i| Foo.new i}

可能值得一提的是,File.readlines 会将所有内容读入内存,这可能会导致大文件出现内存问题。考虑使用此代码:

File.foreach('foo.txt').map do |line|
  Foo.new(line)
end

它逐行读取文件,几乎与您的代码一样快,但更安全。