如何连接两个原子/字符串?

Mar*_*cka 18 prolog

我试图找出如何连接两个原子:

A = 'my ', 
B = 'atom',
Run Code Online (Sandbox Code Playgroud)

如何连接这两个原子,结果如下:

'my atom'
Run Code Online (Sandbox Code Playgroud)

Mar*_*cka 21

对于原子:

?- atom_concat('my ', 'atom', X).
X = 'my atom'.

对于字符串:

:- set_prolog_flag(double_quotes, chars).
:- use_module(library(double_quotes)).

?- append("my ", "string", X).
X = "my string".

我花了一段时间才找到合适的名字.也许它也会帮助别人.


小智 6

这是一个不会使事情复杂化的简单解决方案。

要附加原子,请使用atom_concat / 3谓词:

A='my ', 
B='atom', 
atom_concat(A, B, FinalAtom).
Run Code Online (Sandbox Code Playgroud)

要附加字符串,请使用string_concat / 3谓词:

A="my ",     % single quotes also work
B="string", 
string_concat(A, B, FinalString)
Run Code Online (Sandbox Code Playgroud)

这两个链接都转到SWI-Prolog官方文档网站上的页面。