Создаёт и возвращает копию переданной таблицы путём создания новой и копирования в неё всех элементов из переданной
```lua
functiontable.copy(t:table)->table
table.copy(t:table)->table
```
Возвращает количество пар в переданной таблице
Создаёт и возвращает копию переданной таблицы путём создания новой и копирования в неё всех элементов из переданной.
```lua
functiontable.count_pairs(t:table)->integer
table.count_pairs(t:table)->integer
```
Возвращает один элемент из переданной таблицы на случайной позиции
Возвращает количество пар в переданной таблице.
```lua
functiontable.random(t:table)->object
table.random(t:table)->object
```
Возвращает **true**, если **x** содержится в **t**
Возвращает один элемент из переданной таблицы на случайной позиции.
```lua
functiontable.has(t:table,x:object)->bool
table.has(t:table,x:object)->bool
```
Возвращает индекс обьекта **x** в**t**. Если переданный обьект не содержится в таблице, то функция вернёт значение **-1**
Возвращает **true**, если**x** содержится в **t**.
```lua
functiontable.index(t:table,x:object)->integer
table.index(t:table,x:object)->integer
```
Удаляет элемент**x**из**t**
Возвращает индекс обьекта**x**в**t**. Если переданный обьект не содержится в таблице, то функция вернёт значение **-1**.
```lua
functiontable.remove_value(t:table,x:object)
table.remove_value(t:table,x:object)
```
Конвертирует переданную таблицу в строку
Удаляет элемент **x** из **t**.
```lua
functiontable.tostring(t:table)->string
table.tostring(t:table)->string
```
Конвертирует переданную таблицу в строку.
## Расширения для string
Разбивает строку **str** на части по указанному разделителю/выражению **separator** и возвращает результат ввиде таблицы из строк. Если **withpattern** равен **true**, то параметр **separator** будет определяться как регулярное выражение
Разбивает строку **str** на части по указанному разделителю**delimiter** и возвращает результат ввиде таблицы из строк
Разбивает строку **str** на части по указанному разделителю/выражению **separator** и возвращает результат ввиде таблицы из строк. Если **withpattern** равен **true**, то параметр **separator** будет определяться как регулярное выражение.
Экранирует специальные символы в строке, такие как `()[]+-.$%^?*` в формате `%символ`. Символ `NUL` (`\0`) будет преобразован в `%z`
Разбивает строку **str** на части по указанному разделителю **delimiter** и возвращает результат ввиде таблицы из строк.
```lua
functionstring.pattern_safe(str:string)
string.pattern_safe(str:string)
```
Разбивает секунды на часы, минуты и миллисекунды и форматирует в **format** с следующим порядком параметров: `минуты, секунды, миллисекунды` и после возвращает результат. Если **format** не указан, то возвращает таблицу, где: **h** - hours, **m** - minutes, **s** - seconds, **ms** - milliseconds
Экранирует специальные символы в строке, такие как `()[]+-.$%^?*` в формате `%символ`. Символ `NUL` (`\0`) будет преобразован в `%z`.
Заменяет все подстроки в **str**, равные **tofind** на**toreplace** и возвращает строку со всеми измененными подстроками
Разбивает секунды на часы, минуты и миллисекунды и форматирует в **format** с следующим порядком параметров: `минуты, секунды, миллисекунды` и после возвращает результат. Если**format** не указан, то возвращает таблицу, где: **h** - hours, **m** - minutes, **s** - seconds, **ms** - milliseconds.
Заменяет все подстроки в **str**, равные **tofind** на **toreplace** и возвращает строку со всеми измененными подстроками.
```lua
string.trim(str:string,char:string)->string
```
Удаляет все символы, равные **char** из строки **str** с левого и правого конца и возвращает результат. Если параметр **char** не определен, то будут выбраны все пустые символы.
Удаляет все символы, равные **char** из строки **str** с левого конца и возвращает результат. Если параметр **char** не определен, то будут выбраны все пустые символы.
Удаляет все символы, равные **char** из строки **str** с правого конца и возвращает результат. Если параметр **char** не определен, то будут выбраны все пустые символы.
Также важно подметить, что все выше перечисленные функции, расширяющие **string** можно использовать как мета-методы на экземплярах строк, т.е.:
@@ -103,39 +120,51 @@ end
Также функции `string.lower` и `string.upper` переопределены на `utf8.lower` и `utf8.upper`
```lua
string.escape(str:string)->string
```
Экранирует строку. Является псевдонимом `utf8.escape`.
## Расширения для math
Ограничивает число **_in** по лимитам **low** и **high**. Т.е.: Если **_in** больше чем **high** - вернётся **high**, если **_in** меньше чем **low** - вернётся **low**. В противном случае вернётся само число
```lua
functionmath.clamp(_in,low,high)
math.clamp(_in,low,high)
```
Возвращает случайное дробное число в диапазоне от **low** до **high**
Ограничивает число **_in** по лимитам **low** и **high**. Т.е.: Если **_in** больше чем **high** - вернётся **high**, если **_in** меньше чем **low** - вернётся **low**. В противном случае вернётся само число.
```lua
functionmath.rand(low,high)
math.rand(low,high)
```
Возвращает случайное дробное число в диапазоне от **low** до **high**.
## Дополнительные глобальные функции
В этом же скрипте также определены и другие глобальные функции которые доступны для использования. Ниже их список
Возвращает **true**, если переданная таблица является массивом, тоесть если каждый ключ это целое число больше или равное единице и если каждый ключ следует за прошлым
```lua
functionis_array(x:table)->bool
is_array(x:table)->bool
```
Разбивает путь на две части и возвращает их: входную точку и путь к файлу
Возвращает **true**, если переданная таблица является массивом, тоесть если каждый ключ это целое число больше или равное единице и если каждый ключ следует за прошлым.
```lua
functionparse_path(path:string)->string,string
```
Вызывает функцию **func****iters** раз, передавая ей аргументы `...`, а после выводит в консоль время в микросекундах, которое прошло с момента вызова **timeit**
Разбивает путь на две части и возвращает их: входную точку и путь к файлу.
```lua
functiontimeit(iters:integer,func:func,...)
```
Вызывает остановку корутины до тех пор, пока не пройдёт количество секунд, указанное в**timesec**. Функция может быть использована только внутри корутины
Вызывает функцию **func****iters** раз, передавая ей аргументы `...`, а после выводит в консоль время в микросекундах, которое прошло с момента вызова**timeit**.
```lua
functionsleep(timesec:number)
```
```
Вызывает остановку корутины до тех пор, пока не пройдёт количество секунд, указанное в **timesec**. Функция может быть использована только внутри корутины.
/// @brief Function used for string serialization in text formats
std::stringescape(conststd::string&s);
std::stringescape(std::string_views);
/// @brief Function used for error messages
std::stringquote(conststd::string&s);
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.