将元组列表作为Haskell中的参数

时间:2016-01-14 17:02:36

标签: list haskell tuples

我想知道如何将元组列表作为参数或者是否有更简单的解决方案。

我是Haskell的新手(仅在一周前开始),我做了这个功能,检查元组是否作为毕达哥拉斯三重奏。

pyTheorem (a,b,c) = a ^ 2 + b ^ 2 == c ^ 2

let x = pyTheorem (3,4,5)  

那么我如何定义一个函数,它取一个元组列表并返回Pythagorean三元组的元组?此外,如果有更好的方法,请详细说明。

我查了一些类似的问题,但我找不到符合这个例子的东西。

旁注:我发现LYAH中的一些示例似乎无法在在线终端中使用:https://ghc.io/

所以我使用的是http://www.tutorialspoint.com/compile_haskell_online.php。我应该注意哪些重大差异?

感谢。

1 个答案:

答案 0 :(得分:5)

我认为你需要的只是

filterPy : [(Int,Int,Int)] -> [(Int,Int,Int)]
filterPy ls = filter pyTheorem ls

真正的afficionados也会把它写成“免费点”

filterPy = filter pyTheorem