【发布时间】:2014-03-17 02:33:05
【问题描述】:
我正在尝试将函数 h 映射到素数列表。两者都在下面给出:
f k x = floor ( log k / log x )
h = f 20
primes = 2 : sieve [3,5..]
where
sieve (p:xs) = p:[ x | x <- xs, x `mod` p > 0 ]
但是,当我尝试 map h primes 时,出现以下错误:
Ambiguous type variable `a0' in the constraints:
(Enum a0)
arising from the arithmetic sequence `3, 5 .. '
等等……
函数 f 和 primes 似乎都按预期工作,但我不能将 f 应用于素数中的数字???我在这里误会了什么?
【问题讨论】:
-
啊,不要在回答后将问题编辑为新形式。你可以问一个新的。 :)
-
啊,对不起。我应该恢复我的编辑并创建一个新问题吗?
-
不要还原它。我已经更新了答案。