J'ai lu la documentation, mais je ne comprends toujours pas comment peut-être. En ce qui concerne mon code. Parce qu'à partir d'une chaîne.tois, je reçois peut-être INT, je ne peux pas utiliser un signe + pour ajouter les valeurs que j'essaie de convertir en entiers. C'est elm 0,19. Comment puis-je résoudre ce problème?
4 Réponses :
Vous avez besoin d'une chaîne avec texte code> mais vos onclicks peuvent fonctionner avec des messages qui prennent des INTS. I.e.
button [ onClick (AddNum 7)] [ text "7" ]
J'ai changé les boutons pour travailler avec INTS et mon code addnum à ceci: {Modèle | curnum = string.toint ((string.fromint modèle.curnum) ++ (string.fromint numéro))} Mais je dois toujours convertir un int vers une chaîne. Même erreur
J'utilise la fonction addnum pour créer un numéro, pas ajouter un
J'ai corrigé l'erreur en créant une fonction qui convertit peut-être INT -> INT:
checkInt : Maybe Int -> Int checkInt x = case x of Just y -> y Nothing -> 0
Add -> let cur : Int cur = Maybe.withDefault 0 (String.toInt model.curNum) main : Int main = Maybe.withDefault 0 (String.toInt model.mainNum) in { model | curNum = String.fromInt (cur + main) }
Concernant votre question:
string.fromint code> retourne peut-être int code>, cela signifie que la valeur peut être soit juste int code> ou rien code> li>
- Vous ne pouvez pas simplement ajouter E.G.
juste 1 code> et rien code> ensemble ou même juste 1 code> et juste 2 code> li>
- Vous devez extraire le numéro de
juste 1 code> ou spécifier la valeur par défaut si c'est rien code> (par exemple 0). Li>
-
C'est là que peut-être.WithDeFault code> est utile. Il peut extraire int code> à partir de tout peut-être int code> (Peu importe si c'est rien code> ou juste code>). Il faut 2 paramètres: P>
- est la valeur par défaut utilisée lorsque le deuxième paramètre est
rien code> li>
- second est le
peut-être code> valeur li>
ul> li>
ol> Donc, dans votre code, vous pouvez l'utiliser comme ceci: p> xxx pré> après avoir dit tout cela, vous pouvez simplement enregistrer tous les problèmes en utilisant int code> s dans votre modèle et string.fromint code> dans vos vues. p> p>