试图检查水果的价值
fruit =
Dict.fromList
[ ( 1, { fruitIsGood = False } )
, ( 2, { fruitIsGood = False } )
, ( 3, { fruitIsGood = True } )
]
whichFruitIsGood : Dict.Dict number { fruitIsGood : Bool } -> String
whichFruitIsGood fruit =
case get 0 fruit of
Nothing ->
Debug.crash "nothing found"
Just fruit ->
if fruit.fruitIsGood == True then
"Apple"
else
"I hate Fruit"
我不知道如何获得fruitIsGood道具或您在Elm中所说的任何东西。
答案 0 :(得分:3)
首先,Debug.crash "nothing found"
将不会为您提供任何有用的功能,而是返回nothing found
字符串。
然后,您只需要修复编译器指出的错误即可。它们主要是关于变量的,这些变量被多次定义。让我们将第一个函数重命名为fruits
:
fruits =
Dict.fromList
[ ( 1, { fruitIsGood = False } )
, ( 2, { fruitIsGood = False } )
, ( 3, { fruitIsGood = True } )
]
第二个函数中还有一个变量:
whichFruitIsGood : Dict.Dict number { fruitIsGood : Bool } -> String
whichFruitIsGood fruit =
case get 3 fruit of
Nothing ->
"nothing found"
Just foundFruit ->
if foundFruit.fruitIsGood == True then
"Apple"
else
"I hate Fruit"
然后,您的代码将编译并返回nothing found
。
这里做了一些ellie-app example的修改,显示了正在执行的代码。