使用数组将多个参数传递给变量参数ruby方法

时间:2015-09-24 05:25:44

标签: arrays ruby axlsx

我正在使用ruby gem,它接收可变数量的参数(具体来说,它是axlsx gem)。

我正在使用column_width函数,定义为:

def column_widths(*widths)
  widths.each_with_index do |value, index|
    next if value == nil
    Axlsx::validate_unsigned_numeric(value) unless value == nil
    find_or_create_column_info(index).width = value
  end
end

我有一个动态的宽度需要设置(因为列数不同),所以我尝试创建一个宽度数组并将其传入,但它将数组视为一个参数。

如何将数组作为参数列表传递?

编辑:

实际错误是:

  

无效数据[30,13,20,13,20,13,20,13,10,10,10,13,20,10]   对于无效的列宽。必须是[Fixnum,Integer,Float]

1 个答案:

答案 0 :(得分:1)

您可以在方法定义和方法调用中使用splat。这应该有效:

column_widths(*array_of_widths)