Ich brauche einen Vielleicht -Wertes in einem meiner Update-Funktionen auszupacken:Elm Maybe.withDefault
update msg model =
case msg of
UpdateMainContent val ->
Maybe.withDefault 100 (Just 42)
model
Dies natürlich Dummy-Code ist und die
Maybe.withDefault 100 (Just 42)
ist gerade aus dem genommen documentation for Maybe und sollte eigentlich nichts tun. Der Compiler beschwert sich und sagte:
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
Warum es sagt, dass "withDefault" ist das erste Argument erwartet
a -> b
zu sein, wenn es als
a -> Maybe a -> a
in der definiert ist, Dokumentation?
Sieht aus wie Sie einige seltsame Syntaxfehler in Ihrem Code und Compiler haben versagt, sie zu erkennen. Versuchen Sie, '(Maybe.withDefault 100 (Just 42))' 'einzubinden oder fügen Sie Ihrem Beispiel mehr Code hinzu. – halfzebra
@halfzebra, die genau den gleichen Fehler gibt. Ich möchte nicht den vollständigen Code-Pfad einfügen, da er groß, verschachtelt und modular ist, und das würde die Frage ein wenig zu spezifisch machen. Ich kann jedoch sagen, dass "val" nur eine einfache Zeichenfolge ist. Was Sie sagen, ist, dass ich einen Syntaxfehler außerhalb des obigen Codes haben kann, der den Fehler verursacht? Ich werde versuchen, meine Frage ein wenig zu klären. – swelet