object

Лексема “объект” используется в контексте “базы данных” - “объекты базы данных”, с другой стороны, база данных определяется как список символов, которые, в свою очередь, являются списком свойств, то есть по структуре, и то, и другое - “ассоциативный массив” … вот такой вот получается “общий лисп“ … “список пар“ ... В отлие от символа, объект принимает и отсылает сообщения, а также имеет методы … то есть, является специфичным символом, еще одним типом символа … типом “внешнего символа” … а вот интересно, может ли быть объект “транзитивным“?
object - определяет sym
как объект со значением (или типом) any
. Список свойств инициализируется всеми опционально предоставленными парами “ключ-значение”.
(object 'sym 'any ['sym2 'any2 ..]) -> obj
: (object 'Obj '(+A +B +C) 'a 1 'b 2 'c 3)
-> Obj
: (show 'Obj)
Obj (+A +B +C)
c 3
b 2
a 1
-> Obj
obj - находит или создает объект базы данных и инициализирует дополнительные свойства с помощью аргументов varN
и valN
. В первой форме вызывается запрос (typ sym [hook] val ..)
, тогда как вторая форма использует кэш для сохранения объектов без уникальных +Keys путем индексации *ObjIdx с аргументом any
.
(obj (typ sym [hook] val ..) [var1 val1 ..]) -> obj
(obj typ any [var1 val1 ..]) -> obj
: (obj ((+Item) nr 2) nm "Spare Part" sup `(db 'nr '+CuSu 2) inv 100 pr 1250)
-> {B2}
*ObjIdx - содержит дерево idx объектов, созданных obj.
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
Всегда чему-то учусь!