在Ruby中,我得到了:
-5 % 3 # => 1
而其他语言(如PHP,Javascript,C ++和Java)都产生结果-2
。我不明白这个概念。我希望有人能解释这个红宝石的计算方法。如果您可以使用它的工作方式示例,那就更好了。
答案 0 :(得分:2)
它在文档中:https://ruby-doc.org/core-2.5.0/Numeric.html#method-i-divmod
如果
q, r = x.divmod(y)
,则q = floor(x/y) x = q*y + r
商被舍入为负无穷大
因此q
为-3(-5 / 2并按常规整数除法四舍五入)。还有r = x - q * y = -5 - -3 * 2 = 1