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