我有一个元组来模式匹配,并以递归方式对每个元素执行一些操作。Haskell中的模式匹配操作
[(Int, Char, Int)]
我发现我周围如何正确模式匹配它来访问每个元素像下面这样:
((q1, s, q2):tss)
这个我能做到的列表中的每个元素的一些检查操作。我打算是递归地对元组中的其余元素进行相同的操作,在这种情况下是tss。
这是我在这里张贴的部分代码:
case ts of
[] -> False
((q1, s, q2):tss) | not (q1 `elem` qs) -> False
| not (s `elem` qs) -> False
| not (q2 `elem` qs) -> False
我应该怎样做递归TSS上相同的测试? 想法将不胜感激。
请至少发布一个完整的定义。什么是'qs'? – luqui 2014-09-30 07:47:05
你想得到一个'布尔'的列表吗?或者你想检查是否所有元素fullfil你的财产(或者你想检查至少有一个吗?) – Carsten 2014-09-30 07:49:10
最好,如果你只是给我们一个样本输入和所需的输出;) – Carsten 2014-09-30 07:49:34