2015-03-31 46 views
-1

我被要求做一個Wireworld線的舉動,我想提出一個功能的其他功能(「help1」)內,但我不能讓它工作,有多個文件 這裏是我Wireworld線哈斯克爾需要幫助

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 

的local_element是,我想,如果你需要查看的任何他的其他文件使用 也是另一個文件中的函數,只問 感謝任何幫助是極大的讚賞

+0

我想你可能只是得到了'的情況下... of'和函數的語法搞砸了,我們沒有看到所有的定義(比如我想'指揮,..'將是一個'Element_w_Coord Cell'但你試圖用它來代替將失敗的List_2D單元格) - 無論如何,試試'help(x:xs)(Conductor ...)= ...'而不是'help1 a = case X的A:XS ...'上手 – Carsten 2015-03-31 08:17:11

+0

在任何情況下,請給我們報告給你點它顯示錯誤(或多個) – Carsten 2015-03-31 08:18:48

回答

0

help1功能期待兩個論點,但你只給它一個。

嘗試像

help1 coord world = case world of 

嘗試在列表上遞歸做你的實驗室,並停止發佈關於堆棧溢出分配的問題,特別是與你的真實姓名。

+0

敬請友好行的錯誤,也許你應該擴大你的回答了一下 - 現在它不是真的比評論 – Carsten 2015-04-01 05:35:56

+0

我的回答是也許不是最民間多,但說實話,我只是希望這之前停止學生越來越風險失敗(或更糟)抄襲。這不是一個可以合理回答的問題,而是學生詢問爲什麼他們的「help1」功能不起作用(在這種情況下,我已經回答了他們的問題),或者他們要求爲他們提供解決方案轉讓,這是有問題的。 – Probie 2015-04-01 06:24:41

+0

我的理解和我的評論並不意味着違法 - 是的,OP最有可能失去了所有的興趣,因爲他幾秒鐘之內就無法解決他的問題。但「家庭作業」的問題上來很多時候(見http://meta.stackoverflow.com/questions/253792/stack-overflow-and-homework-questions)和我的理解是,家庭作業,問題都OK,我們只應該照顧,並給予比完整的答案更多的提示(第一) - 我們不是老師或在這裏的父母,這不是我們的責任,如果他們要去欺騙 - 我們來這裏是爲了幫助 – Carsten 2015-04-01 07:15:48