我当时正在研究Ruby。我想创建一个可变长度的参数方法,有点像Ruby Rails验证方法。这就像是:
my_method(var1, *list)
我想把它称为:
my_method(whatever_var, :values => ['1','2','3'])
现在,我的问题是,如何:处理价值?我在验证中看到它(在Rails中),但我并不真正理解它的机制。这现在是一个指向数组的符号吗?如何在我的功能中处理它?
答案 0 :(得分:2)
您可以使用哈希(一种流行的Ruby习语)作为最后一个参数,您可以使用列表,字符串,任何内容来存储值:
def my_method(var1, options={})
options[:values] ||= []
options[:names] ||= []
#code
end
从那里你可以打电话:
my_method(whatever_arg, :values => ['1', '2', '3', '4'], :names => ['mike'])