gpt4 book ai didi

在 Elm 中编码可选字符串

转载 作者:行者123 更新时间:2023-12-03 15:34:50 24 4
gpt4 key购买 nike

我想编码一个 Maybe Stringstring如果它有一个具体的值,或者 null如果是 Nothing .
目前,我使用了一个辅助函数 encodeOptionalString myStr以获得想要的效果。我想知道是否有更像 Elm 的方式来做到这一点。我真的很喜欢elm-json-decode-pipeline的API这让我可以写 Decode.nullable Decode.string用于解码。

encodeOptionalString : Maybe String -> Encode.Value
encodeOptionalString s =
case s of
Just s_ ->
Encode.string s_

Nothing ->
Encode.null

最佳答案

您可以将其概括为 encodeNullable自己发挥作用:

encodeNullable : (value -> Encode.Value) -> Maybe value -> Encode.Value
encodeNullable valueEncoder maybeValue =
case maybeValue of
Just value ->
valueEncoder value

Nothing ->
Encode.null
或者,如果您想要一个稍短的临时表达式:
maybeString
|> Maybe.map Encode.string
|> Maybe.withDefault Encode.null

关于在 Elm 中编码可选字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62919749/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com