Поиск публикаций
Базовые функции
Содержание
Вывод
вывести(сообщение)
Выводит строку в стандартный вывод (немедленно).
вывести("Привет, мир!");
записатьВывод(сообщение)
Добавляет сообщение в буфер вывода (не выводит немедленно). Буфер может быть сброшен позже.
записатьВывод("Буферизованное сообщение");
Преобразование типов
тип(значение)
Возвращает строку с именем типа значения. Возможные значения: "число", "строка", "логический", "null", "массив", "объект", "функция".
$t = тип(123); // "число"
число(строка)
Преобразует строку в число. Если преобразование невозможно, возвращает 0.
$n = число("123.5"); // 123.5
строка(значение)
Преобразует значение в строку.
$s = строка(123); // "123"
логический(значение)
Преобразует значение в логический тип. Число 0 и пустая строка дают ложь, всё остальное — истина.
$b = логический(1); // истина
Математические функции
округлить(число [, разряды])
Округляет число до указанного количества знаков после запятой (по умолчанию 0).
$r = округлить(3.14159, 2); // 3.14
случайное([макс] [, мин])
Генерирует случайное число. Без аргументов — число от 0 до 1. С одним аргументом — целое от 0 до макс-1. С двумя — целое от мин до макс-1.
$r = случайное(1, 10); // число от 1 до 9
Время и задержки
время()
Возвращает текущее время в секундах с начала эпохи (Unix timestamp, с плавающей точкой).
пауза(миллисекунды)
Приостанавливает выполнение скрипта на указанное количество миллисекунд.
пауза(100); // пауза 0.1 сек
форматДаты(формат [, меткаВремени])
Форматирует дату/время согласно переданному шаблону. Если метка времени не указана, используется текущее время. Поддерживаются стандартные спецификаторы: yyyy (год), MM (месяц), dd (день), HH (час), mm (минуты), ss (секунды).
$now = форматДаты("yyyy-MM-dd HH:mm:ss");
JSON
вJSON(значение)
Сериализует значение в строку JSON.
$json = вJSON({ "a": 1, "b": "текст" });
парситьJSON(строка)
Преобразует строку JSON в объект WDSP.
$obj = парситьJSON('{"a":1,"b":"текст"}');
Хэши
md5(строка)
Вычисляет MD5-хеш строки (32 символа в шестнадцатеричном виде).
sha1(строка)
Вычисляет SHA1-хеш строки (40 символов в шестнадцатеричном виде).
Окружение
окружение(имяПеременной)
Возвращает значение переменной окружения. Если переменная не найдена, возвращает пустую строку.
$path = окружение("PATH");
Выполнение команд
выполнить(команда)
Выполняет системную команду и возвращает её вывод (stdout). В случае ошибки выбрасывает исключение.
$out = выполнить("echo Hello");
Утверждения
утверждение(условие [, сообщение])
Проверяет условие. Если оно ложно, выбрасывает исключение (с указанным сообщением, если оно передано).
утверждение($x > 0, "x должно быть положительным");
Объекты
создатьОбъект()
Создаёт новый пустой объект.
$obj = создатьОбъект(); $obj.имя = "Петр";
Строковые функции (глобальные)
обрезка(строка)
Удаляет пробелы с начала и конца строки.
верхний(строка)
Преобразует строку в верхний регистр.
нижний(строка)
Преобразует строку в нижний регистр.
содержит(строка, подстрока)
Возвращает истину, если строка содержит указанную подстроку.
начинаетсяС(строка, префикс)
Возвращает истину, если строка начинается с указанного префикса.
заканчиваетсяНа(строка, суффикс)
Возвращает истину, если строка заканчивается указанным суффиксом.
позиция(строка, подстрока)
Возвращает индекс первого вхождения подстроки в строке, или -1, если не найдено.
Исключения
бросить значение
Выбрасывает исключение с произвольным значением (может быть строка, число, объект).
бросить "Ошибка!";
Перехват исключений выполняется конструкцией попытка ... ловушка(переменная) ....
попытка { бросить "Тест"; } ловушка($e) { вывести($e); }
Цикл для каждого
для каждого (переменная из массив или объект) { ... }
Перебирает элементы массива или свойства объекта. Для массива — итерация по значениям, для объекта — по значениям свойств.
для каждого ($число из [1, 2, 3]) { вывести($число); }
для каждого ($знач из { a: 1, b: 2 }) { вывести($знач); }
Константы
Константы объявляются ключевым словом константа и не могут быть изменены после инициализации.
константа ПИ = 3.14159; константа НАЗВАНИЕ = "WDSP";
Арифметика
WDSP поддерживает автоматическое преобразование типов в арифметических операциях:
число + строка→ конкатенация (число преобразуется в строку).строка + число→ конкатенация.число - строка→ строка преобразуется в число, выполняется вычитание.число * строка→ строка в число, умножение.число / строка→ строка в число, деление.строка % число→ строка в число, остаток от деления.
1 + "2" // "12" "3" + 4 // "34" 5 - "2" // 3 "10" / 2 // 5 2 * "3" // 6 "7" % 3 // 1
Импорт/Экспорт модулей
экспортировать(объект)
Экспортирует объект для использования в других модулях (обычно в конце файла).
экспортировать({ "имя": "МойМодуль", "версия": 1.0 });
импортироватьСинх(путь)
Синхронно загружает модуль по указанному пути и возвращает экспортированный объект.
$mod = импортироватьСинх("my_module.wdsp");
импортировать(путь)
Асинхронная версия импортироватьСинх (возвращает результат немедленно, но загрузка может быть отложена).