相关疑难解决方法(0)

无法理解列表理解

我刚开始学习haskell(字面意思,今晚!)而且我在理解列表推导的逻辑方面有点麻烦,更具体地说是<-运算符.了解一些Haskell的一个小例子查找长度小于10的所有元组:

ghci> let triangles = [ (a,b,c) | c <- [1..10], b <- [1..10], a <- [1..10] ]
Run Code Online (Sandbox Code Playgroud)

我最初的理解是这些都会一起增加,但在看到输出后我真的不理解这些列表的递增方法.另一个似乎让我得到的例子是:

ghci> let rightTriangles = [ (a,b,c) | c <- [1..10], b <- [1..c], a <- [1..b], a^2 + b^2 == c^2]
Run Code Online (Sandbox Code Playgroud)

我真的很感激对这些的一点解释,感谢你对我缺乏haskell情报的耐心.

haskell list-comprehension pythagorean

12
推荐指数
1
解决办法
374
查看次数

Haskell用符号绑定

我试图在哈斯克尔去做一个do语句.我在这里找到了一些例子但是不能将它们应用到我的案例中.我唯一能想到的是一个沉重的嵌套let语句,看起来很难看.

应该用bind替换表示法的语句:

do num <- numberNode x
   nt1 <- numberTree t1
   nt2 <- numberTree t2
   return (Node num nt1 nt2)
Run Code Online (Sandbox Code Playgroud)

任何输入都高度赞赏=)

haskell do-notation

11
推荐指数
2
解决办法
998
查看次数