我需要解开一个可能 - 值在我更新功能之一:榆树Maybe.withDefault
update msg model =
case msg of
UpdateMainContent val ->
Maybe.withDefault 100 (Just 42)
model
这当然是假的代码和
Maybe.withDefault 100 (Just 42)
取直出的documentation for Maybe,不应该实际上做任何事情。编译器抱怨,说:
Detected errors in 1 module.
-- TYPE MISMATCH ----------------------------------- ./src/Review/Form/State.elm
The 1st argument to function `withDefault` is causing a mismatch.
15|> Maybe.withDefault 100 (Just 42))
16| -- Maybe.withDefault 100 (model.activeItem)
17| model
Function `withDefault` is expecting the 1st argument to be:
a -> b
But it is:
number
为什么说“withDefault”期待的第一个参数是
a -> b
,当它被定义为
a -> Maybe a -> a
在
文档?
看起来你有一些奇怪的语法错误在你的代码和编译器无法识别它。尝试换行'(Maybe.withDefault 100(只是42))'或将更多代码添加到您的示例中。 – halfzebra
@halfzebra给出了完全相同的错误。我不想粘贴完整的代码路径,因为它的大,嵌套和模块化,这将使问题有点具体。但是我可以说“val”只是一个简单的字符串进来。所以你说的是我可以在上面的代码之外导致错误的语法错误?我试着澄清一下我的问题。 – swelet