我有一个从文件中读取的字符串数组。
contents = File.readlines('foo.txt')
我可以使用字符串
创建一个对象my_foo = Foo.new("some_text")
我需要创建一个由字符串Foo
数组构成的对象数组contents
。我该怎么办?
答案 0 :(得分:4)
值得一提的是,File.readlines
会将所有内容读入内存,这可能会导致大文件出现内存问题。考虑使用此代码:
File.foreach('foo.txt').map do |line|
Foo.new(line)
end
它逐行读取文件,几乎与代码一样快,但更安全。
答案 1 :(得分:3)
这是你想要的吗?
contents.map {|i| Foo.new i}