我一直在这个问题上纠结我很感激你的帮助。
说明书
“使用赔率数组上的.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/

10-11 22:47