我一直在这个问题上纠结我很感激你的帮助。
说明书
“使用赔率数组上的.each方法打印出数组中每个项的值的两倍换句话说,每一项乘以2。
请确保使用“打印”而不是“放置”,这样您的输出将显示在一行上。“
我的代码
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
对象,传入的块使用变量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/