Исходник Софт extensions-lite

AnWu

Известный
Автор темы
Всефорумный модератор
4,777
5,400
Описание: Библиотека добавляет те функции которые почему-то отсутствуют в луа по-умолчанию.
Функции:
Lua:
string.split(str, delim, plain)
-- Функция @FYP, делит строку по паттерну.

string.rfind(str, pattern, offset, plain)
-- Функция обратного поиска

string.contains(str, substr)
-- Проверяет находится ли подстрока в строке

string.trim(str, chars)
-- Обрезает с начала и конца указанный символ, если символ не указан - обрезает все пробельные символы

table.merge(...)
-- "Склеивает" все указанные таблицы

table.keys(object)
-- Возвращает все ключи таблицы в виде массива

table.copy(object, mt)
-- Поверхностно копирует массив (только указанный уровень). Параметр mt отвечает вернуть ли метатаблицу или нет.

table.getIndexOf(object, value)
-- Получить индекс по первому найденому значению

table.removeByValue(object, value)
-- Удалить ячейку по значению

table.contains(object, value)
-- Поиск по значению в таблице, true / false

table.deepcopy(object, mt)
-- Полное копирование таблицы включая подтаблицы

table.transform(object, func)
-- Применит func(valute) к каждому элементы таблицы и заменит изначальные данные результатом выполнения функции

table.invert(object)
-- Меняет ключ и значение местами

table.map(object, func)
-- Тоже самое что и table.transform, но не заменит оригинал таблицы и вернет копию.

Библиотека позволяет подключать как нужные куски так и всю целиком.
Lua:
require 'extensions-lite'
-- Подключит все части библиотеки и добавит к глобальным переменным string, bit, table новые функции

local tableEx = require 'extensions-lite.table'
-- Не добавит ничего в глобальные переменные, функции будут доступны из tableEx. Например tableEx.merge()

Эта библиотека писалась как дополнение к 0.27, но ввиду некоторых обстоятельств не может пока быть в превью. Поэтому пользуйтесь.
 

Вложения

  • extensions-lite.rar
    2.7 KB · Просмотры: 328
Последнее редактирование:

RTD

Потужно
Модератор
399
470
table.deepcopy(object, mt)
Скопирует, если в таблице есть cdata или оставит ссылку?
 
  • Нравится
Реакции: H1n9

AnWu

Известный
Автор темы
Всефорумный модератор
4,777
5,400
table.deepcopy(object, mt)
Скопирует, если в таблице есть cdata или оставит ссылку?
оставит ссылку. Сам глянь, в коде он перейдет на уровень ниже только если тип равен table
 

rraggerr

проверенный какой-то
1,626
849
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
в папку lib кидать?
это для разработчиков, как по мне делать доп зависимость в либе - бред, скопируй нужные функции и пихни себе, чем заставлять юзеров качать лишние либы
 
  • Нравится
Реакции: H1n9

shitman

Участник
53
29
это для разработчиков, как по мне делать доп зависимость в либе - бред, скопируй нужные функции и пихни себе, чем заставлять юзеров качать лишние либы
у меня частенько случается, что файлы не работают из-за каких-либо недостающих библиотек, подумал что это мб будет необходимо, я не разраб
 
  • Нравится
Реакции: H1n9

AnWu

Известный
Автор темы
Всефорумный модератор
4,777
5,400
это для разработчиков, как по мне делать доп зависимость в либе - бред, скопируй нужные функции и пихни себе, чем заставлять юзеров качать лишние либы
эта либа распространяется через LuaRocks,
 
  • Нравится
Реакции: H1n9

AnWu

Известный
Автор темы
Всефорумный модератор
4,777
5,400
Перезалил на 1.0.2