Je suis tenu de faire un mouvement wireworld et je veux mettre une fonction dans une autre fonction ("help1") mais je ne peux pas le faire fonctionner, il y a plusieurs fichiers voici ce que j'aiwireworld haskell aide nécessaire
module Transitions.For_List_2D (
transition_world -- :: List_2D Cell -> List_2D Cell
) where
import Data.Cell (Cell)
import Data.Cell (Cell (Head, Tail, Conductor, Empty))
import Data.Coordinates
import Data.Coordinates (Distance,X_Coord,Y_Coord,Coord,Element_w_Coord,)
import Data.List_2D
-- Replace this function with something more meaningful:
transition_world :: List_2D Cell -> List_2D Cell
transition_world w = case w of
[] -> []
x:xs -> transition_cell x : transition_world xs
transition_cell :: Element_w_Coord Cell -> Element_w_Coord Cell
transition_cell a = case a of
(Head,(x_coord,y_coord)) -> (Tail, (x_coord,y_coord))
(Tail,(x_coord,y_coord)) -> (Conductor, (x_coord,y_coord))
(Empty,(x_coord,y_coord))-> (Empty, (x_coord, y_coord))
(Conductor,(x_coord,y_coord)) -> (i want to put working function here)
help1 :: Coord -> List_2D Cell -> List_2D Cell
help1 a = case a of
x:xs
(Conductor, (x_e, y_e))-> List_2D.local_elements(element, (x_e, y_e)): help1 xs
la local_element est une fonction sur un autre fichier que je veux utiliser aussi si vous avez besoin pour voir les tous d'il d'autres fichiers, il suffit de demander grâce toute aide est grandement appréciée
Je pense que vous avez probablement juste la syntaxe 'case ... of' et la fonction foiré, et nous ne voyons pas toutes vos définitions (par exemple je pense que' Conductor, ..' sera une cellule 'Element_w_Coord' mais vous essayez de l'utiliser (?) à la place d'un 'List_2D Cell' qui échouera) - de toute façon essayez' help (x: xs) (Conductor ...) = ... 'au lieu de' help1 a = case a de x: xs ... 'pour commencer – Carsten
Dans tous les cas s'il vous plaît nous donner les erreurs qui vous sont signalés et pointez sur la ligne où il montre l'erreur (s) – Carsten