我正在尝试编写一个函数来拉出可扩展记录列表,我想知道这是否可行.源代码如下,或在此处查看Ellie链接
module Temp exposing (..)
import Html exposing (text)
main =
text "Hello"
items : Maybe List { data | id : Int } -> List { data | id : Int }
items maybeList =
case maybeList of
Just t ->
t
Nothing ->
[]
Run Code Online (Sandbox Code Playgroud)
Maybe List { data | id : Int }解析为Maybe (List) ({ data | id : Int }).我不知道为什么错误信息是如此误导,但解决办法是包裹List ...在()这样的:
items : Maybe (List { data | id : Int }) -> List { data | id : Int }
^ ^
Run Code Online (Sandbox Code Playgroud)
编辑:此外,您的功能可以简化Maybe.withDefault:
items = Maybe.withDefault []
Run Code Online (Sandbox Code Playgroud)