簡體   English   中英

如何在序言中遞歸單個列表?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM