elm - _ 在榆树中是什么意思?

标签 elm

我在看 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

我们不关心元组中的第二个值,所以它只匹配 _在那个位置。

没有nullundefined在 Elm 中,因此您不必担心“没有值(value)”(如果某些东西没有值(value),则使用 Maybe 类型)。

关于elm - _ 在榆树中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36635725/

相关文章:

elm - 如何在 Elm 中实现 setTimeout 的行为

http - 如何从响应中提取多个键的数据。在榆树

elm - 如何在不为每条消息复制整个结构的情况下传递状态?

Elm 递归类型定义

boolean - Elm 返回整数而不是 Bool,编译器错误?

javascript - Elm - 防止默认订阅

constructor - 在 Elm 中将 Int 值分配给可能包含 Int 类型的记录

haskell - 如何在 Haskell 中进行波浪号扩展和 $PATH 搜索?

javascript - 如何告诉 elm 有关外部 DOM 更改的信息

functional-programming - Elm:理解 foldp 和鼠标点击