小编lea*_*ner的帖子

Haskell - 如果在列表理解中使用其他方法怎么用?

我希望通过滚动两个骰子生成一个点列表.如果两个骰子显示相同的值,则输出点将变为(i,i,i,i).

我的代码就像

[(i,j)|i<-[1..6],j<-[1..6], if i==j
                            then (i,i,i,i)
                            else (i,j)]
Run Code Online (Sandbox Code Playgroud)

当我把它输入GHCi时,它无法编译.

我期望的输出是

[(1,1,1,1),(1,2),(1,3),(1,4),(1,5),(1,6),(2,1),(2,2,2,2),(2,3),(2,4),(2,5),(2,6),(3,1),(3,2),(3,3,3,3),(3,4),(3,5),(3,6),(4,1),(4,2),(4,3),(4,4,4,4),(4,5),(4,6),(5,1),(5,2),(5,3),(5,4),(5,5,5,5),(5,6),(6,1),(6,2),(6,3),(6,4),(6,5),(6,6,6,6)]
Run Code Online (Sandbox Code Playgroud)

haskell

-1
推荐指数
1
解决办法
324
查看次数

标签 统计

haskell ×1