2
A
回答
2
作为一个自己的学习练习,我会尝试回答这个问题。如果我发现错误,其他人将会参与进来。
我敢肯定你是用类似
type Person = Adult String | Child String Age
儿童是一类有两个参数。解析器是一样的。但它的definition是相当艰巨的
type Parser a b =
Parser (State a -> List (State b))
type alias State value =
{ visited : List String
, unvisited : List String
, params : Dict String String
, value : value
}
这就是说,你看语法分析器如何最终是围绕着功能的包装,从一国的国家名单。最终它会通过一个“未访问的”字符串或参数列表;它将逐步“拜访”每一个,结果将被结合到最终的“价值”中。
接下来需要注意的是,虽然解析器有两个类型参数 - a
,b
- parseHash
定义
parseHash : Parser (a -> a) a -> Location -> Maybe a
所以,你原来
route : Parser (Page -> a) a
将不得不成为
route : Parser (Page -> Page) Page
键入检查。
要回到你原来的问题,因此,route
是封装了如何从一个Page
转到另一个指令解析器(这是一个非常普遍的对象),并且可以使用 - 通过parseHash - 告诉你什么Page
去下一个,这当然是你期望从路由器。
希望这能让你开始
+1
谢谢。这使我指出了正确的方向。 – Matt
相关问题
- 1. 了解Elm中的类型
- 2. 了解Data.Function.on类型签名
- 3. 了解js返回类型
- 4. 了解函数的返回类型
- 5. TypeScript中lambda返回类型的签名
- 6. Objective-C:具有块返回类型的块的类型签名
- 7. 了解复杂类型签名
- 8. c + +返回类型和类型名称
- 9. 以强类型返回匿名类型
- 10. 了解类型
- 11. 返回匿名类型
- 12. 尝试在Elm中解构类型时类型不匹配?
- 13. Elm中的类型约束
- 14. Elm - 检查值的类型
- 15. Elm类型签名中的“x”是什么?
- 16. 解析子类ParseUser返回类型
- 17. 返回类型
- 18. 返回类型
- 19. 返回类型
- 20. 返回类型
- 21. 了解Java泛型类型
- 22. Java - 了解私有最终自定义类型的返回类型
- 23. 泛型类的返回类
- 24. 了解类型值类
- 25. 未指定类型的返回类型
- 26. 与强类型的返回类型
- 27. Java - 返回类型的通用类型
- 28. 返回向量的泛型类类型
- 29. 了解Haskell类型
- 30. 了解类型族
你可以添加一个引用来自这是从哪里来? – robertjlooby
来自[此示例应用]的第22行(https://github.com/AdrianRibao/elm-spa-example/blob/master/main.elm)。谢谢 – Matt