Как объединить два атома/струны?

Я пытаюсь выяснить, как объединить два атома:

A = 'my ', 
B = 'atom',

Как я могу объединить эти два атома так, чтобы результат:

'my atom'

?

Ответы

Ответ 1

Для атомов:

<Предварительно > ? - atom_concat ('мой', 'atom', X). X = 'мой атом'.

Для строк:

<Предварительно > : - set_prolog_flag (double_quotes , символы). : use_module (library (double_quotes)). ? - append ( "my", "string", X). X = "моя строка".

Мне потребовалось некоторое время, чтобы найти правильные имена. Возможно, это тоже поможет другим.

Ответ 2

Вот простое решение, которое не слишком усложняет ситуацию.

Чтобы добавить атомы, используйте atom_concat/3 предикат:

A='my ', 
B='atom', 
atom_concat(A, B, FinalAtom).

Чтобы добавить строки, используйте string_concat/3 предикат:

A="my ",     % single quotes also work
B="string", 
string_concat(A, B, FinalString)

Обе ссылки переходят на страницы официального сайта документации SWI-Prolog.