Ruby - 将文本文件转换为数组

时间:2013-01-29 04:40:31

标签: ruby-on-rails ruby

我是Ruby on Rails的新手,并且正在使用它来增加一些C ++代码。我的C ++代码当前将数据从多维数组输出到文本文件,如:

2 2 2 2 2 3 1 1 1 1 5 2 2 2 2 2 
2 2 2 3 1 1 1 1 1 1 1 1 5 2 2 2 
2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 
2 3 1 1 1 1 1 1 1 1 1 1 1 1 5 2 
2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 
3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5 
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
6 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 
2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 
2 6 1 1 1 1 1 1 1 1 1 1 1 1 4 2 
2 2 1 1 1 1 1 1 1 1 1 1 1 1 2 2 
2 2 2 6 1 1 1 1 1 1 1 1 4 2 2 2 
2 2 2 2 2 6 1 1 1 1 4 2 2 2 2 2 

我正在寻找帮助,将此文本输出转换为具有动态高度/宽度的Ruby输入的二维数组。 到目前为止,我已经手动将它们输入到我的Ruby代码中,但很快就会进行更多测试,到目前为止我还没有找到将其转换为二维Ruby数组的方法。任何帮助都会很棒!

2 个答案:

答案 0 :(得分:13)

File.foreach('file.txt').map { |line| line.split(' ') }

答案 1 :(得分:10)

File.readlines('foo.txt').map &:split