如何在不使用Prolog中任何内置函数的情况下递归打印列表?

问题描述 投票:0回答:1

我是Prolog的新手。我了解Prolog中的基本递归,例如append,member。

我想知道如何在不使用Prolog中内置函数的情况下递归打印列表。

有人可以帮我吗?

prolog swi-prolog
1个回答
0
投票

大多数涉及处理列表的谓词将分解为空列表的规则和处理一项并递归处理列表其余部分的规则。作为模板,它看起来像这样:

pred([])     :- ??? % empty case
pred([X|Xs]) :- 
   ???              % handle X
   pred(Xs).        % recur for the tail of the list

注意,这里我们只是使用列表的定义,不需要特殊的谓词。看看这是否足以解决问题,如果可以,将其发布为答案。

© www.soinside.com 2019 - 2024. All rights reserved.