我在实现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]
任何帮助都会非常感激。
答案 0 :(得分:1)
在标准库中,library(lists)
(自动加载,您不需要做任何事情)有两个谓词:nth0/3
和nth1/3
完全符合您的需要。例如:
?- nth1(2, [2,[2,3],hello], V).
V = [2, 3].
顺便说一下,SWI-Prolog网页有一个非常有用的搜索功能。在那里输入nth
会给你答案。