我是Erlang的新手.你怎么做模数(得到除法的其余部分)?它在大多数类C语言中都是%,但它在Erlang中指定了注释.
有几个人回复了rem,在大多数情况下这很好.但我正在重新考虑这一点,因为现在我需要使用负数而rem会给你一个除法的余数,这与负数的模数不同.
在Erlang中,5 rem 3.给出2,而-5 rem 3.给-2.如果我理解你的问题,你会想要-5 rem 3.而不是1,因为-5 = -2*3 + 1.
这样做你想要的吗?
mod(X,Y) when X > 0 -> X rem Y; mod(X,Y) when X < 0 -> Y + X rem Y; mod(0,Y) -> 0.
erlang模运算符是 rem
Eshell V5.6.4 (abort with ^G) 1> 97 rem 10. 7
我在灵药中使用了以下内容:
defp mod(x,y) when x > 0, do: rem(x, y); defp mod(x,y) when x < 0, do: rem(x, y) + y; defp mod(0,_y), do: 0
请不要低估这一点,因为它是另一种语言而不是问题.我们都过着梦想,因为我们都拥有光束.