关于Haskell模式匹配的参数的谓词应用

时间:2016-01-01 22:00:44

标签: haskell

我正在Haskell中开发一个函数,其参数是一对对列表。递归地,该列表将被进一步拆分,直到基于预定义谓词满足基本情况。通常,对于更简单的数据类型,例如列表,文字可用于基本案例匹配,例如'[]'。如何使用布尔谓词应用模式匹配?

我想出的唯一方法是使用if else语句。但显然这会导致明显的问题。

模式

pure_instances [(_,_)] = True
pure_instances ((c1,_):(c2,attrs):xs) = (c1 == c2) && (pure_instances ((c2,attrs):xs))

方法

build_tree list  = if (pure_instances list) then (Leaf get_label list) else (build_tree list) 
build_ tree list = ...

1 个答案:

答案 0 :(得分:1)

我认为你在找卫兵? (感谢Reid Barton)

if input == statement

if input == name: print("final %(name, fav_color, weight, height)返回build_tree list | pure_instances list = Leaf get_label list | otherwise = build_tree list 时的无限循环是另一回事......