我在看 zip
关于 http://elm-lang.org/examples/zip 的示例我有一个关于 _
究竟是什么的问题在榆树中的意思。
zip : List a -> List b -> List (a,b)
zip xs ys =
case (xs, ys) of
( x :: xs', y :: ys' ) ->
(x,y) :: zip xs' ys'
(_, _) ->
[]
我的预感是它意味着“其他一切”,但这是否意味着任何有效值?如果没有值(value)怎么办?
最佳答案
_
用于匹配您不关心值的任何内容,因此它通常用于匹配“其他所有内容”的情况。
在您的示例代码中 (_, _)
将匹配任何包含 2 个值的元组。请注意,它也可以仅替换为 _
因为你最终不关心任何一个值(value)。一个更具说明性的示例是您关心元组中的一个值而不关心另一个值,例如 fst
的实现in the core package
fst : (a,b) -> a
fst (a,_) =
a
我们不关心元组中的第二个值,所以它只匹配
_
在那个位置。没有
null
或 undefined
在 Elm 中,因此您不必担心“没有值(value)”(如果某些东西没有值(value),则使用 Maybe 类型)。
关于elm - _ 在榆树中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36635725/