使用多维阵列填充

Using fill with multi dim arrays

是否可以使用 fill 将数组传入 ruby 中的元组数组?

例如,我正在尝试使用 zip 合并以下两个数组,然后计划转置它们。我正在尝试以下

column_name_tuples = [["foo"], ["bar"]]
column_label_tuples = [["Foo Bar"]]
column_label_tuples.fill(column_name_tuples.size..column_label_tuples.size - 1) { [nil] }

这导致列标签被填充如下

[["Foo Bar"], nil]

实际上我需要像这样填充它以便之后可以进行转置

[["Foo Bar"], [nil]]

你可以这样做:

column_label_tuples.fill([nil], column_label_tuples.size,
  column_name_tuples.size-column_label_tuples.size)
  #=> now [["Foo Bar"], [nil]]

减少为:

column_label_tuples.fill([nil], 1, 2-1)