Elm:如何使用(结果字符串值)的值
Elm : How to make use of value with (Result String Value)
例如
fromIsoString : String -> Result String Date
fromIsoString
会生成 Ok (Value
) ...任何我可以用来对 Value
做某事的方法
正如我所测试的那样,它与
一起工作
text ( `Value` |> Date.add Days -1|> Date.toIsoString)
尝试的方法:Date.fromIsoString "2018-09-26" |> Result.withDefault 0
给出错误 -> 预期:
Result String #Date#
理想情况下,我想将 ISO 日期 (2020-05-10) 转换为日期格式,并对日期执行一些操作,例如 -1 天。
参考:
https://github.com/justinmimbs/date/blob/3.2.0/src/Date.elm
你看到这个 Result String #Date#
错误是因为你已经传递了 Result.withDefault
一个 number
而它期望 Date
。如果我们查看 withDefault
类型注释:
> Result.withDefault
<function> : a -> Result x a -> a
withDefault
需要与成功结果相同类型 a
的默认值。因为您已将 0 : number
指定为默认值,所以其类型变为:
> \result -> Result.withDefault 0 result
<function> : Result x number -> number
注意 result
的类型是 Result x number
,它与 fromIsoString
的 Result String Date
输出类型不一致。
TLDR:传递一个 Date
作为默认参数,例如:
> defaultDate = Date.fromCalendarDate 2020 Jan 1
RD 737425 : Date
> Date.fromIsoString "2018-09-26" |> Result.withDefault defaultDate
RD 736963 : Date
查看 Elm Result
documentation 可以调用 Result String Date
类型值的其他函数
例如
fromIsoString : String -> Result String Date
fromIsoString
会生成 Ok (Value
) ...任何我可以用来对 Value
正如我所测试的那样,它与
一起工作text ( `Value` |> Date.add Days -1|> Date.toIsoString)
尝试的方法:Date.fromIsoString "2018-09-26" |> Result.withDefault 0
给出错误 -> 预期:
Result String #Date#
理想情况下,我想将 ISO 日期 (2020-05-10) 转换为日期格式,并对日期执行一些操作,例如 -1 天。
参考: https://github.com/justinmimbs/date/blob/3.2.0/src/Date.elm
你看到这个 Result String #Date#
错误是因为你已经传递了 Result.withDefault
一个 number
而它期望 Date
。如果我们查看 withDefault
类型注释:
> Result.withDefault
<function> : a -> Result x a -> a
withDefault
需要与成功结果相同类型 a
的默认值。因为您已将 0 : number
指定为默认值,所以其类型变为:
> \result -> Result.withDefault 0 result
<function> : Result x number -> number
注意 result
的类型是 Result x number
,它与 fromIsoString
的 Result String Date
输出类型不一致。
TLDR:传递一个 Date
作为默认参数,例如:
> defaultDate = Date.fromCalendarDate 2020 Jan 1
RD 737425 : Date
> Date.fromIsoString "2018-09-26" |> Result.withDefault defaultDate
RD 736963 : Date
查看 Elm Result
documentation 可以调用 Result String Date