J'ai écrit un extrait de code Elm qui dessinerait un carré et changerait la couleur carrée entre le rouge et le noir à chaque fois que l'on clique sur la souris.Pourquoi l'expression de casse ne fonctionne-t-elle pas dans ce code Elm?
Toutefois, la structure de cas dans la fonction changeColor ne fonctionne pas comme prévu, alors que le changeColor mis en œuvre avec si la structure fonctionnera.
Que dois-je faire pour comprendre ce qui ne va pas? Je vous remercie.
import Color exposing (red, black, blue, Color)
import Signal exposing ((<~))
import Graphics.Element exposing (Element, show)
import Graphics.Collage exposing (collage, square, filled, Form)
import Mouse
import Window
main : Signal Element
main =
scene <~ (Signal.foldp changeColor black Mouse.clicks)
scene : Color -> Element
scene color =
collage 600 600 [ filled_square color ]
changeColor :() -> Color -> Color
changeColor _ color =
case color of
black -> red
red -> black
--changeColor _ color =
-- if | color == black -> red
-- | color == red -> black
filled_square : Color -> Form
filled_square color = square 100 |> filled color