【发布时间】:2014-03-18 11:50:57
【问题描述】:
all_nat x = [ls| sum ls == x]
我想编写一个给定整数 x 的函数,它返回所有列表,它们的元素在求和时的结果是整数 x 但我总是得到错误“不在范围内:'ls'”对于两者次它出现。我是haskell的新手。这里的语法错误是什么?
【问题讨论】:
-
问题是,Haskell 不是 Prolog。它不仅会为您匹配所有可能的值组合。您需要明确使用数字范围(如
[1..x])并从中进行选择。 -
是的,在haskell之前我一直在学习prolog的基础知识。谢谢
标签: haskell list-comprehension