【发布时间】:2015-02-18 07:27:54
【问题描述】:
在我的 Ruby 脚本中,我目前有一个二维数组,其中的元素都是长度不同的数组。在这个例子中,为简单起见,整数是每个数组的索引,可以被认为是所有字符串的真实值的占位符..
my_2D_array =
[[1],
[1, 2, 3],
[1, 2, 3, 4, 5, 6, 7, 8],
[1, 2, 3, 4],
[1, 2],
[1, 2, 3, 4, 5],
[1, 2, 3, 4, 5, 6, 7, 8, 9],
[],
[1, 2, 3, 4, 5, 6],
[1, 2, 3, 4, 5, 6, 7]]
如何填充新的 2D 数组或操作现有的 2D 数组,以使所有数组的长度相同,并使用 nil 值填充新的 elelements?像这样:
my_2D_array =
[[1, nil, nil, nil, nil, nil, nil, nil, nil],
[1, 2, 3, nil, nil, nil, nil, nil, nil],
[1, 2, 3, 4, 5, 6, 7, 8, nil],
[1, 2, 3, 4,, nil, nil, nil, nil, nil],
[1, 2, nil, nil, nil, nil, nil, nil, nil],
[1, 2, 3, 4, 5, nil, nil, nil, nil],
[1, 2, 3, 4, 5, 6, 7, 8, 9],
[nil, nil, nil, nil, nil, nil, nil, nil, nil],
[1, 2, 3, 4, 5, 6, nil, nil, nil],
[1, 2, 3, 4, 5, 6, 7, nil, nil]]
【问题讨论】:
-
请注意,我试图通过研究 ruby 数组操作来提出一个解决方案,但是虽然没有找到,但我的代码非常臃肿,所以我也在寻找很好的代码抽象使用ruby 中的各种技巧来获得相当模块化的东西。