我一直被这个问题困住了。如果有任何帮助,我将不胜感激。
说明 "在 odds 数组上使用 .each 方法打印出数组中每个项目的双倍值。换句话说,将每个项目乘以 2。
确保使用 print 而不是 puts,这样你的输出就会出现在一行上。”
我的代码
odds = [1,3,5,7,9]
odds.each do |placeholder|
odds *= 2
print odds
end
最佳答案
odds = [1,3,5,7,9]
odds.each do |placeholder|
odds *= 2
print odds
end
你对 #each
的用法在这里是正确的,但请记住 #each
接收一个 ::Enumerable
对象,传入的 block 使用变量 placeholder
将值封装在迭代当前点的 ::Array
中。因此,您需要使用 placeholder
来检索要加倍的值,而不是 odds
,因为 odds
仍然是 : :Array
在 ::Enumerable
函数 #each
中。
这段代码可以写成两行如下:
odds = [1,3,5,7,9]
odds.each {|placeholder| print placeholder * 2 }
严格来说,#map
是执行此操作的首选方法。
关于arrays - 在 ruby 上使用每个乘法数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31325911/