基本上我正在处理一个更大的问题,但是如何返回一个列表从1到n
?我是新来的,有点困惑。另外,是否可以在函数调用中将其作为参数传递?序言,从1到N返回列表
像check(newlist(1, N), [L | Rl]);
其中newlist
是一个函数调用返回1
和N
之间的名单?
对不起,如果我的术语关闭。这似乎是一个非常基本的问题,但我仍然在学习和理解Prolog的概念。
基本上我正在处理一个更大的问题,但是如何返回一个列表从1到n
?我是新来的,有点困惑。另外,是否可以在函数调用中将其作为参数传递?序言,从1到N返回列表
像check(newlist(1, N), [L | Rl]);
其中newlist
是一个函数调用返回1
和N
之间的名单?
对不起,如果我的术语关闭。这似乎是一个非常基本的问题,但我仍然在学习和理解Prolog的概念。
在Prolog中,你并没有真正具有返回值的函数。你有统一变量的谓词。考虑到这一点,你会写是这样的:
range(1, N, ResultOfRange),
check(ResultOfRange, [L, Rl]).
虽这么说,想想range
基本条件,然后找出你如何构建上做一个谓语产生的整个范围数字。