Elm指定给我整数[int

问题描述 投票:0回答:1

我正在尝试查看给定列表的长度是否等于某个数字。但是==期望两个数字不是Int,所以即使我键入(==) 1的类型仍然是number -> Bool,所以最终当我通过管道传送lenght的结果时,我会得到编译错误:

-类型不匹配-------------------------------------------- -------------- REPL

此函数无法处理通过(|>)管道发送的参数:

4 | List.length |>((==)1)^^^^^^参数为:

List a -> Int

但是(|>)将其传递给期望的功能:

number

提示:仅Int和Float值用作数字。

所以如何指定我的常量是一个Int而不是number变量?

elm
1个回答
1
投票

[我认为您可能会对此考虑过多,在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

但是我想坚持只使用==进行检查的简单版本。

© www.soinside.com 2019 - 2024. All rights reserved.