我正在尝试编写一个方法,要求两个2个整数,并将第一个除以第二个并返回结果,包括余数。
def remainder(a,b)
return a/b
return a%b
end
puts remainder(100,6)
这就推出了
16
如果我使用此代码
def remainder(a,b)
return a%b
end
puts remainder(100,6)
这就推出了
4
我不明白如何使模数值和余数在puts语句中显示。
更新 根据Simple Lime的建议,我使用了以下代码......
def remainder(a,b)
return a.divmod(b)
end
puts remainder(100,6)
哪个放
16
4
并且正如我所希望的那样运作。
答案 0 :(得分:3)
当您需要返回多个值时,可以从方法返回一个数组:
def remainder(a, b)
[a / b, a % b]
end
puts remainder(100, 6).inspect # => [16, 4]
然后您可以根据需要将每个值分配给不同的变量:
div, mod = remainder(100, 6)
puts div # => 16
puts mod # => 4
作为旁注,如果你只需要2个数的商和模数,那么已经有一个内置函数divmod
使用上面的技术做到了这一点:
100.divmod(6) # => [16, 4]