我正在尝试在 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) ?
Run Code Online (Sandbox Code Playgroud)
谁能帮我配置这个功能?
SWI-Prolog 7.x 使用不同的列表构造函数'[|]'/2,而不是传统的./2Prolog 构造函数:
?- '[|]'(1,[]) == [1].
true.
Run Code Online (Sandbox Code Playgroud)
正如您在查询中获得的错误消息所暗示的那样,该更改的动机是./2为了其他用途,特别是在dict术语中。
| 归档时间: |
|
| 查看次数: |
423 次 |
| 最近记录: |