Property Access
Всегда чему-то учусь!
Хотел назвать пост просто ДОСТУП (Access), так как в рамках системы ещё рассматривается тема удаленного доступа к базе данных, а так автор обозначает классификатор из одиннадцати функций, хотя я бы туда добавил ещё … типа тех же struct или setq … но в данном случае речь идёт о списке функций доступа к параметрам объектов, к их атрибутам или характеристикам (термин - “свойство“ мне не нравится) … вот этот список - put get prop ; \=: : :: putl getl wipe meta
https://picolisp.tiddlyhost.com/#Property%20Access
Самой характерной функция здесь является, конечно, prop - извлекает атрибут для key из атрибута символа sym. Этот символ — sym1 (если не указано никаких других аргументов) или символ, найденный путем применения алгоритма get к sym1|lst и следующим аргументам. Возвращается свойство (cons-пара, а не только ее значение), подходящее для прямых (деструктивных) манипуляций с функциями, ожидающими аргумент var
(prop 'sym1|lst ['sym2|cnt ..] 'sym) -> var
: (put 'X 'cnt 0)
-> 0
: (prop 'X 'cnt)
-> (0 . cnt)
: (inc (prop 'X 'cnt)) # Directly manipulate the property value
-> 1
: (get 'X 'cnt)
-> 1
На самом деле, как видим, речь идёт о механизмах get, put и даже set. “get” - именно, как механизм упоминается в документации сплошь и рядом и не случайно функция акцентировалась при самом первом знакомстве с системой. Правда, “put” рассматривался в контексте ввода-вывода, а “set“, вообще, как центральная концепция.
Короче, этим постом зафиксирован прецедент авторской классификации, а в нашем мануале, скорее всего, изменится или акцентирующая тема, либо её обозначение, термин для названия концепции, но какой?.