小编lea*_*ell的帖子

比较Haskell中的不同类型

我正在尝试检查haskell应用程序中的相等性,它接受类型为[a]的xs,如下所示:

myCompare :: Int -> Int -> [a] -> Int
myCompare pointer x xs = if pointer < length xs
                         then if xs !! pointer == xs !! (pointer+1)
                         ....
Run Code Online (Sandbox Code Playgroud)

但是,Haskell遇到了一个问题,即它不能在xs数组中的项之间进行比较,因为它们可能具有不同的类型.

返回的错误是:

No instance for (Eq a) arising from a use of ‘==’
Possible fix:
  add (Eq a) to the context of
    the type signature for myCompare :: Int -> Int -> [a] -> Int
Run Code Online (Sandbox Code Playgroud)

我不熟悉各种类型,我不确定我怎么能投这个 - 有人能帮我借这个吗?

haskell ghci

2
推荐指数
1
解决办法
152
查看次数

生成三元组中所有可能的数字组合?

比方说,我想构建一个三元组,从三元组中获取1..100的每个数字组合; 即:

[(0,0,0),(0,0,1),(0,1,1),(1,1,1),(0,0,2),(0,1,2),(0,2,2),(1,2,2)]
Run Code Online (Sandbox Code Playgroud)

..等等,直到一个给定的界限(即:100:给我们最终的三连胜(100,100,100)); 在haskell中是否有任何合理的方法可以做到这一点,或者我最好编写一个简短地保存边界指针的方法,并递归地增加每个数字,直到它等于右边的数字?

haskell list-comprehension ghci

2
推荐指数
1
解决办法
657
查看次数

标签 统计

ghci ×2

haskell ×2

list-comprehension ×1