这是这个问题的理想选择,除了榆树从那以后已经改变,所以答案不再有效(特别是不再有Decode.customDecoder对象).
你如何在elm-core> 5.0.0中做同样的事情?
一种方法(从Elm 0.18和核心5.0)将是这样的:
stringIntDecoder : Decoder Int
stringIntDecoder =
Json.Decode.map (\str -> String.toInt (str) |> Result.withDefault 0) Json.Decode.string
Run Code Online (Sandbox Code Playgroud)
在String.toInt从标准库函数接受一个字符串,并试图将其转换为整数,返回结果.Result.withDefault做它的名字暗示 - 你给它一些默认值和结果,如果结果是Ok x你得到x但是如果Err _你得到你提供的默认值,这里是0.你可以改为编写一个函数来自己处理一个结果你喜欢并通过该功能.
| 归档时间: |
|
| 查看次数: |
917 次 |
| 最近记录: |