gpt4 book ai didi

prolog - 如何在 SWI-Prolog 中使用列表构造函数 (./2)

转载 作者:行者123 更新时间:2023-12-02 02:18:39 24 4
gpt4 key购买 nike

我尝试在 SWI-Prolog 中使用列表构造函数,但收到“dict”预期错误。

例如,

.(a, []) == [a].

ERROR: Type error: `dict' expected, found `a' (an atom)
ERROR: In:
ERROR: [11] throw(error(type_error(dict,a),_14808))
ERROR: [10] '$type_error'(dict,a) at /Applications/SWI-Prolog.app/Contents/swipl/boot/init.pl:3369
ERROR: [9] '$dicts':'.'(a,[],_14874) at /Applications/SWI-Prolog.app/Contents/swipl/boot/dicts.pl:46
ERROR: [8] '<meta-call>'(user:(...,...)) <foreign>
ERROR: [7] <user>
Exception: (9) '.'(a, [], _14200) ?

有人可以帮我配置此功能吗?

最佳答案

SWI-Prolog 7.x 使用不同的列表构造函数 '[|]'/2,而不是传统的 ./2 Prolog 构造函数:

?- '[|]'(1,[]) == [1].
true.

此更改的动机是将 ./2 释放用于其他用途,特别是在 dict 术语中,正如您收到的查询错误消息中所暗示的那样。

关于prolog - 如何在 SWI-Prolog 中使用列表构造函数 (./2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44348509/

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