我在ruby中有一个数组,我想根据特定属性动态更改其元素的值。假设我有一个数组,
array = [123,134,145,515]
我想操纵这些元素,比如将所有元素乘以一个参数,如何在不使用for循环的情况下明确地完成它?
答案 0 :(得分:2)
你在找这个:
array = [123,134,145,515]
n = <any number>
array1 =array.map{|a| a * n}
或
array.map!{|a| a * n} #which modify the array object itself
答案 1 :(得分:1)
为此,您可以在ruby中使用类似collect
方法的数组。
您可以编写一个方法,只要需要将数组和参数作为参数传递,就可以调用该方法。
例如,您可以编写类似于此的方法;
array = [123,134,145,515]
parameter_value = 2
现在,根据要求,您可以定义如下方法:
array.collect {|x| x * parameter_value}
在这种情况下,这将返回一个类似于此的数组:
array = [246, 268, 290, 1030]