открыть: Синтаксис 2Syntax 1

Справочник native функций

Имя любой native функции начинается с символа диез #.

Работа со значениями простых типов

#null
#not
#_not
#text_size
#lower_case
#upper_case

Работа с типами значений

#type
#is
#is_not
#as

Вывод информации

#echo
#write_ln
#dump
#log

Работа с коллекциями

#count
#has_key
#keys
#remove
#clear
#sort
#key_sort


# #null #

Возвращает значение null #, вне зависимости от аргументов.


b #not #

Преобразует аргумент b в тип $bool и возвращает результат логического отрицания полученного значения.


i #_not #

Преобразует аргумент i в тип $int и возвращает результат инвертирования битов полученного значения.


t #text_size #

Возвращает кол-во символов в тексте аргумента t, если он типа $text, иначе возвращает null #.


a #type #

Возвращает тип аргумента a.


a #is tp

Когда в аргументе tp хранится тип, то: возвращает true #1, если тип аргумента a равен tp; иначе возвращает false #0.
Когда в аргументе tp хранится не тип, то: возвращает true #1, если типы аргументов a и tp одинаковые; иначе возвращает false #0.

-- псевдокод #is a tp ~ (tp #type # => type) <> $type ? tp = type ; (a #type #) == tp => ret ;

a #is_not tp

Возвращает true #1, если функция #is, вызванная с теми-же аргументами вернула false #0; иначе возвращает false #0.

-- псевдокод #is_not a tp ~ ret = a #is tp #not # ;

a #as tp

Сперва определяет целевой тип следующим образом. Если в аргументе tp хранится тип, то целевой тип равен tp. Иначе целевой тип равен типу значения, хранимого в tp. Затем возвращает результат преобразования аргумента a к целевому типу.

Особые случаи:
Когда tp равен $any, то функция возвращает a в неизменном виде.
Когда tp равен $number, то тип результата может быть $int или $float, исходя из значения a.
Когда tp хранит любой другой абстрактный тип, то результатом будет null #.


a #echo separator

Выводит a на экран. Для значений простых типов separator игнорируется. Для массивов, ассоциативных массивов и объектов класса separator выводится как разделитель между элементами. Для того, чтобы выводились ключи коллекций (индексы элементов массива, или имена свойств объекта класса) необходимо в качестве аргумента separator передать массив из двух элементов [разделитель_элементов, разделитель_пары_ключ_значение]. Функция возвращает a.

1_ #echo # -- вывод: -1 "\n" #echo # -- перевод строки [%zero %one] #echo ', ' -- вывод: zero, one "\n" #echo # -- перевод строки [%zero %one] #echo [', ' ':'] -- вывод: 0:zero, 1:one