> ЛукСкрипт
LeekScript 4 — четвертая версия языка LeekScript, выпущенная 1 июля 2022 года. На этой странице собраны все новые функции, представленные в этой версии.
В версиях LeekScript с 1 по 3 массивы представляли собой как списки ([1, 2, 3, 4]), так и ассоциативные таблицы (['a': 5, 'b': 12]). Начиная с LeekScript 4, эти два аспекта разделены на два разных типа: списки (Array) и таблицы (Map). Эти два новых типа более эффективны, чем старый общий тип, и дают большую ясность в использовании.
Список Array представляет собой непрерывную последовательность элементов, начиная с индекса 0. Они эквивалентны ArrayList в Java или vector в C++. Вы можете быстро получить доступ к элементу с его позицией, вставить/удалить элемент в любой позиции.
array[10] = v.Map).Массив использует все функции категории "Список" документации.Таблица «Map» — это объект, который связывает ключ со значением. Они эквивалентны HashMap из Java или unordered_map из C++, пары (ключ, значение) не упорядочены. Ключи могут быть любого типа: число (целое или вещественное), строка символов, объект и т. д. Мы можем быстро получить значение, связанное с данным ключом. Этот новый тип заменяет «ассоциативный» аспект старых массивов.
var table = [:]var table = новая карта()arraySome(list, predicate): возвращает true, если предикат возвращает true хотя бы для одного элемента списка.arrayEvery(list, predicate): возвращает true, если предикат возвращает true для всех элементов списка.removeAll(list, element): удаляет все элементы "элемент" из списка.arrayFrequencies(list): возвращает таблицу, связывающую (элемент => количество).arrayChunk(list, size): возвращает список, содержащий вложенные списки размера N.arrayUnique(list): возвращает новый массив без дубликатов.arrayRandom(list, n): возвращает список из N случайных элементов.Новые списки и карты, будучи гораздо более эффективными и легкими в работе, потребовали переустановки лимита на уровне оперативной памяти (оперативной памяти программы). Действительно, с очень небольшой операцией можно легко заполнить гигабайты оперативной памяти.
Ограничение ОЗУ установлено на уровне 100 МБ для каждого ИИ (сущность + призыв) за бой, что соответствует 12 500 000 элементов списка, таблицы или объекта. Это ограничение действует в LS4, потому что старые таблицы не используют эту систему оперативной памяти, она им не нужна, потому что их потребление операций достаточно велико.
Добавлены функции getMaxRAM() и getUsedRAM() для мониторинга потребления оперативной памяти в режиме реального времени.
Целые числа теперь представлены 64 битами вместо 32 (во всех версиях LeekScript). Увеличение позволяет выполнять вычисления с большими числами и позволяет иметь больше битов для бинарных манипуляций.
Синтаксис «стрелочной функции» теперь доступен для более удобного написания анонимных функций:
В конструкторах, методах и статических методах теперь можно использовать значения по умолчанию для каждого параметра:
В списки доступа добавлены две новые возможности:
list[-1] возвращает последний, list[-2] возвращает предпоследний.list[10:20] возвращает новый список, содержащий элементы с позиции 10 (включительно) до 20 (исключительно).list[10:20:3] возвращает элементы в позиции 10, 13, 16, 19.list[20:10:-3] возвращает элементы в позиции 20, 17, 14, 11.arraySlice(start, end, increment), которая заменяет subArray, имеет то же поведение, что и синтаксис list[start:end:increment].Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.