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. TypeScript中lambda返回類型的簽名
- 3. Objective-C:具有塊返回類型的塊的類型簽名
- 4. 瞭解複雜類型簽名
- 5. 返回匿名類型
- 6. 嘗試在Elm中解構類型時類型不匹配?
- 7. 解析子類ParseUser返回類型
- 8. 返回類型
- 9. 返回類型
- 10. 泛型類的返回類
- 11. 瞭解類型值類
- 12. 未指定類型的返回類型
- 13. 與強類型的返回類型
- 14. Java - 返回類型的通用類型
- 15. 轉換強類型的表達式匿名類型的返回
- 16. 類型簽名類型列表等
- 17. 返回泛型類型
- 18. 泛型返回問類型
- 19. 類返回類型重載
- 20. 子類和返回類型
- 21. PyCharm類型提示返回類型
- 22. 返回匿名類型的結果?
- 23. 返回參數的類型名查詢
- 24. 無類型返回/標籤未發現
- 25. 推導其參數的返回類型函數返回類型
- 26. Tuple.Create返回類型
- 27. Back_insert_iterator返回類型
- 28. WCF返回類型
- 29. WCF返回類型
- 30. Mapstruct返回類型
你可以添加一個引用來自這是從哪裏來? – robertjlooby
來自[此示例應用]的第22行(https://github.com/AdrianRibao/elm-spa-example/blob/master/main.elm)。謝謝 – Matt