stu*_*tck 3 ruby rspec overloading
作为我遵循的测试优先 ruby 课程的一部分,我需要创建一个基本的乘法方法,该方法首先接受 2 个参数并将它们相乘,但之后 rspec 测试以同一方法将多个数字相乘的能力。
我只是想确认我的假设,因为 Ruby 不支持方法重载,所以我必须让我的一个乘法函数接受一个数组并执行以下操作:
def multiply(arr)
total = 0
arr.each do |x| total *= x end
return total
end
Run Code Online (Sandbox Code Playgroud)
有人可以在这里提供有关最佳策略的一些启示吗?我已经正确了吗?这是 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
Run Code Online (Sandbox Code Playgroud)
multiply就实施而言,最简单的是这样做
def multiply(*numbers)
numbers.reduce(:*)
end
p multiply(10,2)
p multiply(10,2,3)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
895 次 |
| 最近记录: |