arrays - 在 ruby​​ 上使用每个乘法数组

标签 arrays ruby each

我一直被这个问题困住了。如果有任何帮助,我将不胜感激。

说明 "在 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/

相关文章:

ruby-on-rails - 在 Rails 索引 View 中显示选定的名称而不是 ID

javascript - jQuery:动画,连续循环通过 child

javascript - 如何更改页面调整大小的左侧属性(jQuery)

javascript - 为什么 Array.prototype.map()、Array.prototype.forEach() 和 For-In 循环对 Array.fill() 给出错误的结果?

arrays - 将字符变化列导入 PSQL 中的字符变化数组列

Ruby gsub 删除电话号码中的非法字符

jquery - 试图在每个语句中获取 this 的父级

arrays - Brain Bender ...数组公式不使用 FILTER 函数填充单元格

c++ - 在 C++ 中与数组串联?

ruby-on-rails - ruby:使用 Regexp.union(数组)时添加 boundaries\b 选项?