gpt4 book ai didi

Ruby "multiply"函数攻略

转载 作者:太空宇宙 更新时间:2023-11-03 18:11:53 27 4
gpt4 key购买 nike

作为我正在学习的测试优先 ruby​​ 类(class)的一部分,我需要制作一个基本的乘法方法,该方法首先采用 2 个参数并将它们相乘,但之后 rspec 测试将多个数字相乘的能力同样的方法。

我只想确认我的假设,因为 Ruby 不支持方法重载,我将不得不让我的一个乘法函数接受一个数组并执行以下操作:

def multiply(arr)
total = 0
arr.each do |x| total *= x end
return total
end

有人可以提供一些关于此处最佳策略的启示吗?我已经正确了吗?这是 rspec:

describe "#multiply" do

it "multiplies two numbers" do
multiply(3,9).should == 27
end

it "multiplies several numbers" do
multiply([1,2,3,4]).should === 24
end
end

最佳答案

multiply 的实现而言,最简单的做法就是这样做

def multiply(*numbers)
numbers.reduce(:*)
end

p multiply(10,2)
p multiply(10,2,3)

关于Ruby "multiply"函数攻略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32510050/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com