[英]How to recurse a single list in prolog?
我正在閱讀教程,但很難理解如何遞歸單個列表。 有人可以快速給我解釋一下基本案例必須是什么,為什么要這么做,以及在遞歸中要做什么。 我的代碼是:
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之后。 如果符合其中一項規則,則為true。 目前,我只是確保可以使類型實例化正常工作。 任何幫助都將受到歡迎! 提前致謝。
您缺少一對方括號
statement(A|B)
它應該是
statement([A|B])
您的其余遞歸規則看起來不錯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.