gpt4 book ai didi

syntax - Prolog 数组管道含义

转载 作者:行者123 更新时间:2023-12-04 01:53:53 24 4
gpt4 key购买 nike

谁能解释一下下面的代码?我知道如果 X 离开 Y,它会返回 true,但我不明白竖线、下划线和 R 的内容。它是否表示数组中除 X 和 Y 之外的所有其他元素?

    left(X,Y,[X,Y|_]).
left(X,Y,[_|R]) :- left(X,Y,R).

最佳答案

如果您不确定某个术语“实际上”表示什么,您可以使用 write_canonical/1 来获取其规范表示。

例如:

| ?-  write_canonical([X,Y|_]).'.'(_16,'.'(_17,_18))

还有:

| ?-  write_canonical([a,b|c]).'.'(a,'.'(b,c))

特别是:

| ?-  write_canonical([a|b]).  '.'(a,b)

这表明 [a|b] '.'(a,b) 项,即一个包含仿函数 . 和两个参数。

为了强调这一点:

| ?- [a|b] == '.'(a,b).yes

关于syntax - Prolog 数组管道含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51656239/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com