0

我在实现 Prolog 谓词时遇到了麻烦vector_reference(L,N,V),因此当给定列表“L”和索引“N”时,它将 V 与列表的第 N 个值统一起来。

示例打印输出如下:

?- vector_reference([2,3,4], 3, V).
V = 4

?- vector_reference([2, [2,3],’hello’]),2,V).
V = [2,3]

任何帮助将不胜感激。

4

1 回答 1

1

在标准库中,library(lists)(自动加载,您不需要做任何事情)有两个谓词:nth0/3并且nth1/3完全符合您的需要。例如:

?- nth1(2, [2,[2,3],hello], V).
V = [2, 3].

顺便说一句,SWI-Prolog 网页有一个非常有用的搜索功能。在那里打字nth会给你答案。

于 2013-03-06T22:07:57.020 回答