1
我有一个从文件中读取的字符串数组。从字符串数组中创建对象的数组
contents = File.readlines('foo.txt')
我可以用绳子
my_foo = Foo.new("some_text")
我需要通过字符串contents
的阵列制成的物体Foo
数组创建一些对象。我该怎么做?
我有一个从文件中读取的字符串数组。从字符串数组中创建对象的数组
contents = File.readlines('foo.txt')
我可以用绳子
my_foo = Foo.new("some_text")
我需要通过字符串contents
的阵列制成的物体Foo
数组创建一些对象。我该怎么做?
这可能是值得一提,那File.readlines
将读到的一切到内存中,这可能会使大文件存储问题。请考虑使用此代码:
File.foreach('foo.txt').map do |line|
Foo.new(line)
end
它逐行读取文件中的行,几乎一样快,你的代码,但更安全。
这是你要找的吗?
contents.map {|i| Foo.new i}
为什么不'foos = File.foreach('foo.txt')。map {| line | Foo.new(line)}'而不是声明'Array'并推入? – engineersmnky
@engineersmnky你说得对,地图比较好。更新 – djaszczurowski