我正在尝试评估数组中的每个位置,如果它在某个范围内,则为该位置分配一个新值。这是我的方法代码和方法调用:
def array_eval array
array.each do |x|
if x.to_i <= 10
array[x] = 1
else
array[x] = 2
end
end
end
array_eval temp_array
puts temp_array
这是我从终端输出的错误:
carwashalgorithm.rb:109:in `[]=': no implicit conversion from nil to integer (TypeError)
from carwashalgorithm.rb:109:in `block in array_eval'
from carwashalgorithm.rb:107:in `each'
from carwashalgorithm.rb:107:in `array_eval'
from carwashalgorithm.rb:117:in `<main>'
我可以使用控制流来做到这一点,但我知道有一种更简单的方法可以使用块来评估所有这些值。这就是我要对上述内容做的事情。任何和所有的帮助表示赞赏。