A1sCode
Главная
Библиотека
Стандарты
History
Changelog
История версий A1sAR
🚀 Major Release
⚠️ Breaking Changes
- Маркер пустого слота изменён с
Неопределено на "__A1S_∅__"
- Функция
Of() теперь корректно обрабатывает Неопределено как значение
✨ Добавлено
ConvertTo(Array, TargetType, DefaultValue) — приведение типов
Reset(Array) — сброс к значениям по умолчанию
ResetDeep(Array) — глубокий сброс
Equals(Array1, Array2) — сравнение массивов
EqualsDeep(Array1, Array2) — глубокое сравнение
🐛 Исправлено
Of(1, Неопределено, 3) теперь возвращает [1, Неопределено, 3] вместо [1, 3]
🗑️ Удалено
- Зависимость от
A1sDS в функциях Split(), SplitAt()
- Зависимость от
A1sS.Print() в обработчиках ошибок
- Зависимость от
A1sFixed в OfFixed() — используется платформенный Новый ФиксированныйМассив()
Типизация
✨ Добавлено
PickByType(Array, Type) — выборка по типу
OmitByType(Array, Type) — исключение по типу
PickNumbers(), PickStrings(), PickDates(), PickBooleans(), PickRefs()
PickFilled(), PickNotNull()
GetTypes(Array) — массив уникальных типов
GroupByType(Array) — группировка по типам
IsHomoTyped(Array), IsHeteroTyped(Array)
MostFrequentType(Array)
Split(Array, Separator), SplitAt(Array, Index)
🔄 Изменено
- Добавлена зависимость от
A1sDS для Split() / SplitAt()
Set-операции
✨ Добавлено
Union(A1, A2, ..., A8) — объединение до 8 массивов
Intersection(A1, A2, ..., A8) — пересечение
Difference(A1, A2, ..., A8) — разность
Concatenate(A1, A2, ..., A8) — склейка с дубликатами
Fluent Interface
✨ Добавлено
- Обработка
A1sDP_AR — Fluent-обёртка для цепочек вызовов
- Трансформеры:
Filter(), Map(), Sort(), Reverse(), Unique(), Take(), Skip(), Slice()
- Терминаторы:
Value(), First(), Last(), Count(), Total(), Avg(), Minimum(), Maximum(), Reduce(), Join()
- Переменные в выражениях:
v (элемент), acc (аккумулятор)
🎉 Initial Release
✨ Добавлено
Of(P1, ..., P40) — создание массива
OfN(Size, Value) — заполненный массив
Fill(Array, Value) — заполнение
First(), Last() — доступ к элементам
Contains(), IndexOf() — поиск
IsEmpty() — проверка пустоты
RemoveDuplicates() — удаление дубликатов
🔮 Roadmap
📋 v2.1.0
Chunk(Array, Size) — разбиение на части
Zip(Array1, Array2) — объединение в пары
FindIndex(Array, Expression) — поиск по условию
Every(Array, Expression) — все соответствуют
Some(Array, Expression) — хотя бы один
Partition(Array, Expression) — разделение по условию
📋 v3.0.0
- Поддержка
ФиксированныйМассив во всех функциях
- Ленивые вычисления (lazy evaluation)
- Параллельная обработка больших массивов