Elm中的余数运算符是什么?

3

我有这个函数

result = 
  add 1 2 |> \a -> a % 2 == 0)

我遇到了这个错误

Elm does not use (%) as the remainder operator

我看到文档中提到可以使用 modBy,所以我尝试了一下。
result =
   add 1 2 |> (\a -> a modBy 2 == 0)

但这会导致以下错误。
This function cannot handle the argument sent through the (|>) pipe:

https://widged.gitbooks.io/gb-elm-language/content/en/program-flow/02-basic%20operators.html - Ken White
从您的文章中,我发现了rem,但是当我尝试使用"a rem 2 == 0"时,出现了以下错误。我找不到rem变量。 - Parzi
1个回答

9
% 运算符在 0.19 版本中被移除,以减少对 remmod 之间的混淆。 modByremainderBy 是常规函数。你可以这样使用它们: result = add 1 2 |> (\a -> modBy 2 a == 0) 或者,如果您喜欢代码的函数组合变体: result = add 1 2 |> modBy 2 >> (==) 0 作为一个历史记录,曾经有一种使用反引号符号调用函数的方式:
 a `modBy` 2

但这在0.18版本中被删除了。


1
确保不要使用0作为modBy的第一个参数。这会导致运行时错误。 - Dull Bananas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接