2016-01-14 10 views
0

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

我是Haskell的新手(仅在一周前开始),并且我使用此函数来检查元组是否为Pythagorean Triple。

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

let x = pyTheorem (3,4,5) 

所以,我如何定义它需要一个元组列表和返回是勾股数的元组的功能?另外,如果有更好的方法来做到这一点,请详细说明。

我抬头看了一些类似的问题,但是我找不到适合这个例子的东西。

侧面说明:我发现一些在LYAH的例子我似乎无法在网上终端使用方法:https://ghc.io/

所以我用http://www.tutorialspoint.com/compile_haskell_online.php代替。我应该注意到有什么重大差异吗?

谢谢。

回答

5

我想是你所需要

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

房地产afficionados也写 '点免费'

filterPy = filter pyTheorem 
+0

谢谢!它的工作原理,但它究竟如何过滤?既然它返回三元组,我假设它基于pyTheorem返回true的过滤器? – DxAlpha

+0

看看https://hackage.haskell.org/package/base-4.7.0.0/docs/Data-List.html#g:13 –

+0

我看到解释显示:'filter p xs = [x | x < - xs,p x]'但是如何从上面的代码翻译? – DxAlpha

相关问题