理解这种榆树功能的困难

时间:2016-02-18 21:33:53

标签: elm type-annotation

我正在学习榆树,我已经阅读了文档,现在我正试图注释所有试图解释每个函数中发生的事情的例子。

This exercise花了我很长时间才明白。

  1. 下一个类型注释是什么意思?我得到的第一个参数是String和最后一个Html,但中间的参数怎么样?它是由Result字段和String字段组成的List String吗?
  2. view : String -> Result String (List String) -> Html

    1. 与上面几乎相同,那些嵌套类型是什么意思?
    2. results : Signal.Mailbox (Result String (List String))

      我会留下另一个问题的异步位,非常感谢提前!

1 个答案:

答案 0 :(得分:4)

Result抽象出可能成功或失败的操作。它被定义为

type Result error value
    = Ok value
    | Err error

如果操作成功,则值为Ok value,否则,如果失败,则为Err error。在您的情况下,suceed值将是一个字符串列表,而错误值将是一条消息。

对于第二点,情况类似,results是包含Result的邮箱,其中包含Ok (List String)Err String