我正在尝试学习数组处理的Ruby方式。编写以下函数的简洁方法是什么?
def columnize(items, n_cols)
Items 是一个任意长度的一维数组。我想返回一个行数组,每行的长度为n_cols
,包括所有items
列,可能用nil
s 填充最后一列。例如:
items = [1, 2, 3, 4, 5, 6, 7]
table = columnize items, 3
这应该产生table
:
[[1, 4, 7],
[2, 5, nil],
[3, 6, nil]]
请注意,最后一列可能都是nil
s,如下所示:
columnize [1, 2, 3, 4, 5, 6, 7, 8, 9], 4
这是我需要为报告生成解决的一个真正问题。我有一个 Ruby 新手解决方案不是很令人满意,如果需要可以发布它。