【问题标题】:A function that makes an array of length b with all values equal to a, then takes the product (Ruby 2.3.3)使长度为 b 且所有值都等于 a 的数组的函数,然后取乘积(Ruby 2.3.3)
【发布时间】:2017-07-26 23:41:40
【问题描述】:

我需要定义一个函数 power(a,b),它接受值 a 并重复 b 次并将其存储在数组。然后取该数组的乘积。

我们的想法是能够取任意数字 a 并使用数组将其提升到 b 的幂。

【问题讨论】:

  • 我很好奇你为什么要这样做,而不仅仅是a**b
  • [a].*(b).inject(:*)
  • "我需要定义一个函数 power(a,b) 取值 a 并重复它 b 次并将其存储在一个数组中。” ——那就去做吧!我们不会阻止你!

标签: arrays ruby


【解决方案1】:

这样的吗?

def power(a, b)
  Array.new(b, a).inject(1, :*)
end

power(2, 3)
=> 8
power(2, 4)
=> 16

【讨论】:

  • reduce 的初始值不需要,如果省略,它将使用数组中的第一个值
  • 是的,如果数组为空,您将获得 nil,而不是零
  • 雄辩的红宝石:)
猜你喜欢
  • 2021-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-05
  • 2021-02-07
相关资源
最近更新 更多