Ruby 返回结果和模的方法

Ruby 返回结果和模的方法,ruby,Ruby,我正在尝试编写一个方法,该方法要求两个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的建议,我使

我正在尝试编写一个方法,该方法要求两个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

并且正如我所希望的那样运行。

当需要返回多个值时,可以从该方法返回数组:

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个数字的商和模,那么已经有一个内置函数,它使用上述技术实现了这一点:

100.divmod(6) # => [16, 4]

返回后,退出函数。你不能再来两次。您需要将这两个值组合成某种对象,如元组,然后返回该对象。谢谢,我使用了您上次展示的方法。我不知道这是存在的,我建议你把倒数第二行改成“不过,使用Ruby的内置方法会更简单:”。也许其他人会有不同的解读,但我不确定你是否暗示应该使用
divmod
,或者这只是一个替代解决方案。啊,是的,只是一个替代方案,我无法从问题中判断这是一个“学着做事情”类型的问题还是一个“他们实际上需要一个函数来实现这一点,并选择从头开始编写它,而不知道内置的函数”再次尝试了问题中的措辞,将其分为他们所问的内容和他们可能想要的内容