是否可以以./2格式显示Prolog列表,例如
列表:
| ?- L=[a,b,c].
L = [a,b,c] ?
yes
Run Code Online (Sandbox Code Playgroud)
有没有办法显示:
L = .(a, .(b, .(c, []))).
Run Code Online (Sandbox Code Playgroud) 需要使用 SWI-Prolog ./2 的示例。
签名是
.(+Int,[])
Run Code Online (Sandbox Code Playgroud)
此外,如果有此运算符的名称,也很高兴知道。正在搜索“.” 毫无意义。
最接近名称的是 SWI 文档部分 F.3 Arithmetic Functions
List of one character: character code
Run Code Online (Sandbox Code Playgroud)
我试过的
?- X is .(97,[]).
Run Code Online (Sandbox Code Playgroud)
结果是
ERROR: Type error: `dict' expected, found `97' (an integer)
ERROR: In:
ERROR: [11] throw(error(type_error(dict,97),_5812))
ERROR: [8] '<meta-call>'(user:(...,...)) <foreign>
ERROR: [7] <user>
ERROR:
ERROR: Note: some frames are missing due to last-call optimization.
ERROR: Re-run your program in debug mode (:- debug.) to get more detail.
Run Code Online (Sandbox Code Playgroud)
也试过
?- X is .(97,['a']).
Run Code Online (Sandbox Code Playgroud)
结果相同。