我正在尝试查看给定列表的长度是否等于某个数字。但是==
期望两个数字不是Int,所以即使我键入(==) 1
的类型仍然是number -> Bool
,所以最终当我通过管道传送lenght
的结果时,我会得到编译错误:
-类型不匹配-------------------------------------------- -------------- REPL
此函数无法处理通过(|>)管道发送的参数:
4 | List.length |>((==)1)^^^^^^参数为:
List a -> Int
但是(|>)将其传递给期望的功能:
number
提示:仅Int和Float值用作数字。
所以如何指定我的常量是一个Int而不是number变量?
[我认为您可能会对此考虑过多,在Elm中像其他语言一样直接检查相等性。
myList = [1, 2, 3]
List.length myList == 3 // True
[如果您确实要使用(==)
功能,以防万一,请执行以下操作:>
List.length myList |> (==)
然后您可以将其存储为变量或立即调用它
List.length myList |> (==) 3 // True
OR
lengthChecker = List.length myList |> (==) lengthChecker 3 // True
但是我想坚持只使用
==
进行检查的简单版本。