下面有一些prolog代码,它接受一个整数列表,并返回所述列表的Max元素。我的问题是,我不太确定代码的List = [H|_]
部分是如何工作的。
我理解为H
分配了列表的头部值,但下面的变量List是什么?当给出以下代码片段List = [H|_]
对我来说,List
可能是H
,也可能是_
(尾巴)......但从逻辑上讲,它必须是_
(尾巴)或以下功能不起作用。
max(List,Max) :-
List = [H|_],
accMax(List,H,Max).
代码示例:http://www.learnprolognow.org/lpnpage.php?pagetype=html&pageid=lpn-htmlse21