adr и *Adr

Sergey ShishkinSergey Shishkin
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"

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

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

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