基本上我正在处理一个更大的问题,但是如何将列表从1返回到数字n
?我是新手,有点困惑。是否可以将其作为函数调用中的参数传递?
喜欢check(newlist(1, N), [L | Rl]);
其中newlist
是一个函数调用,它返回1
和N
之间的列表?
对不起我的术语是关闭的。这似乎是一个非常基本的问题,但我仍在学习并理解Prolog的概念。
答案 0 :(得分:0)
在Prolog中,您实际上没有返回值的函数。你有谓词统一变量。考虑到这一点,你会写这样的东西:
range(1, N, ResultOfRange),
check(ResultOfRange, [L, Rl]).
话虽如此,请考虑range
的基本条件,然后弄清楚如何构建它以使谓词产生一系列数字。
答案 1 :(得分:0)