我正在阅读教程,我发现很难理解如何递归单个列表。有人可以快速解释一下基本情况必须是什么,为什么,以及在递归中要做什么。我的代码是:
type(string).
type(int).
instance(X,Y):- X, Y.
variable(_).
statement([]).
statement(A|B):- A, statement(B).
代码的目的是制作一个轻型类型检查器来检查如下内容:
String s; int i; i = s.length();
我将其作为测试通过:
statement([instance(type(string), variable(s))]).
我决定把它放在一个列表中并递归它,然后把它放在 if 之后。如果它符合其中一条规则,那就是真的。目前我只是确保我可以让类型实例化工作。欢迎任何帮助!提前致谢。