adr и *Adr

1 min read
adr - преобразует в первой форме переменную var
(символ или cons-пару) в num (фактически закодированный указатель). Этот указатель можно передать в native или struct. Вторая форма преобразует указатель обратно в исходную var
. Обратите внимание, что эта исходная var
может быть удалена сборщиком мусора, если на нее не ссылаются из других данных, что приводит к непредсказуемым результатам.
(adr 'var) -> num
(adr 'num) -> var
: (setq X (box 7))
-> $370237372176
: (adr X)
-> 533244889064
: (adr @)
-> $370237372176
: (val @)
-> 7
: (struct (adr X) 'N)
-> 114
$: (struct (adr X) T)
-> 7
*Adr - глобальная переменная, содержащая IP-адрес последнего недавно принятого клиента.
: *Adr
-> "127.0.0.1"
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
Всегда чему-то учусь!