append

Sergey ShishkinSergey Shishkin
1 min read

В отношении строк, как правило, говорят о конкатенации, но надо признать, что append - тоже конвенциональный термин, собственно, пришедший из Lisp и, кстати, использующийся и в Prolog, где эта операция может как присоединять, так и разделять списки.

append - присоединяет все аргументы.

(append 'lst ..) -> lst

: (append '(a b c) (1 2 3))
-> (a b c 1 2 3)
: (append (1) (2) (3) 4)
-> (1 2 3 . 4)

append/3 - предикат Pilog, который выполняется успешно, если добавление первых двух аргументов равно третьему.

: (? (append @X @Y (a b c)))
 @X=NIL @Y=(a b c)
 @X=(a) @Y=(b c)
 @X=(a b) @Y=(c)
 @X=(a b c) @Y=NIL
-> NIL

Описание ?, чтобы понять код в примере.

https://picolisp.tiddlyhost.com/#append

0
Subscribe to my newsletter

Read articles from Sergey Shishkin directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Sergey Shishkin
Sergey Shishkin

Всегда чему-то учусь!