相关疑难解决方法(0)

以"原始"./2格式显示列表

是否可以以./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)

list prolog

5
推荐指数
1
解决办法
117
查看次数

如何使用 SWI-Prolog ./2 函数?

需要使用 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)

结果相同。

prolog swi-prolog

4
推荐指数
1
解决办法
2112
查看次数

标签 统计

prolog ×2

list ×1

swi-prolog ×1