allowed

Sergey ShishkinSergey Shishkin
1 min read

*Allow - глобальная переменная, содержащая разрешенные шаблоны доступа. Если ее значение не равно NIL, она должна содержать список, где CAR — это дерево idx разрешенных элементов, а CDR — список префиксных строк.

: *Allow
-> (("!start" ("!psh") "!stop" NIL "lib.css") "app/")
: (allow "!myFoo")  # additionally allowed item
-> "!myFoo"
: (allow "myDir/" T)  # additionally allowed prefix
-> "myDir/"

allow - поддерживает структуру индекса разрешенных шаблонов доступа в глобальной переменной *Allow. Если значение *Allow не равно NIL, sym добавляется в дерево idx в CAR *Allow (если flgNIL) или в список префиксных строк (если flg — не NIL).

(allow 'sym ['flg]) -> sym

: *Allow
-> (("!start" ("!psh") "!stop" NIL "lib.css") "app/")
: (allow "!myFoo")  # additionally allowed item
-> "!myFoo"
: (allow "myDir/" T)  # additionally allowed prefix
-> "myDir/"

allowed - создает структуру индекса разрешенных шаблонов доступа в глобальной переменной *Allow. lst должен состоять из префиксных строк (для проверки во время выполнения с помощью pre?), а аргументы sym должны указывать изначально разрешенные элементы.

(allowed lst [sym ..])

: (allowed ("app/")  # allowed prefixes
   "!start" "!stop" "lib.css" "!psh" )  # allowed items
-> NIL

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

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

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