0
我想打一個程序,遞歸元組
- 需要的性格和對字符作爲參數的清單列表上,
- 返回對的第一個元素,如果它等於輸入字符,否則返回不變的對。
我有以下代碼:
lookUp :: Char -> [(Char, Char)] -> Char
lookUp a [] = []
lookUp a [(x,y),(xs,ys)]
| a == x = y : lookUp [(xs,ys)]
| otherwise = x : y : lookUp [(xs,ys)]
當我編譯它,我得到了很多錯誤:
的方程0無法匹配,期望與實際類型[類型「字符」 T0]
在關於 '查找'
等等......
對不起,我對Haskell比較新。我很肯定我在用元組遞歸處理時犯了一個錯誤([(x,y),(xs,ys)]
),但我不知道如何改變它。有任何想法嗎?
我不太明白 - 你想要一個Chars列表嗎?你能準確地說出你想要的功能嗎? – user2008934 2014-11-23 18:01:48
如果要在不同情況下返回值和對,可以將結果類型包裝在「Either」數據類型中。 – Sibi 2014-11-23 18:05:03
*返回該對中的第一個元素,如果它等於輸入字符,或者返回未經修改的對。*您不能這樣做。你的結果類型不能區分一種情況('Char')和另一種情況('(Char,Char)')。請澄清你的規格。 – Jubobs 2014-11-23 18:48:03