我正在尝试一个简单的操作
rem(-1, 25)
Run Code Online (Sandbox Code Playgroud)
我希望它能够提醒整数除法并返回24(与Ruby中相同),但它返回-1.难道我做错了什么?长生不老药的行为被打破了吗?
其余部分的符号实际上是根据编程语言更改的:https://en.wikipedia.org/wiki/Modulo_operation.所以两者都是正确的,都是错的.:)
红宝石:
irb > -1.remainder(25)
=> -1
Run Code Online (Sandbox Code Playgroud)
药剂:
iex(6)> rem(-1,25)
-1
Run Code Online (Sandbox Code Playgroud)
他们的工作方式相同.
但我认为你的意思是来自Ruby的模数:
irb > -1.modulo(25)
=> 24
Run Code Online (Sandbox Code Playgroud)
如果你需要一个像这样的函数,那么我认为你需要编写自己的函数,如下所述.