LeekScript 4

LeekScript 4

> LeekScript

LeekScript 4 es la cuarta versión del lenguaje LeekScript, lanzada el 1 de julio de 2022. Esta página resume todas las características nuevas que trae esta versión.

Matriz y Mapa separados

En las versiones 1 a 3 de LeekScript, las matrices eran listas ([1, 2, 3, 4]) y tablas asociativas (['a': 5, 'b': 12]) . A partir de LeekScript 4, los dos aspectos se separan en dos tipos diferentes: listas (Array) y tablas (Map). Estos dos nuevos tipos son más eficientes que el antiguo tipo común y brindan una mayor claridad en el uso.

Una lista Array es una secuencia continua de elementos, comenzando en el índice 0. Son equivalentes a ArrayList de Java o vector de C++. Puede acceder rápidamente a un elemento con su posición, insertar/eliminar un elemento en cualquier posición.

Una tabla Map es un objeto que relaciona una clave con un valor. Son equivalentes a HashMap de Java o unordered_map de C++, los pares de (clave, valor) no están ordenados. Las claves pueden ser de cualquier tipo: número (entero o real), cadena de caracteres, objeto, etc. Podemos recuperar rápidamente un valor asociado con una clave determinada. Este nuevo tipo reemplaza el aspecto "asociativo" de las antiguas matrices

Nuevas funciones para listas

Comentarios sobre el límite de RAM

Las nuevas listas y tarjetas siendo mucho más eficientes y ligeras en las operaciones, fue necesario restablecer un límite a nivel de la RAM (memoria de trabajo del programa). De hecho, con muy poca operación es posible llenar gigas de RAM fácilmente.

El límite de RAM se establece en 100 MB por cada IA (entidad + convocatoria) por combate, lo que corresponde a 12 500 000 elementos de lista, tabla u objeto. Este límite es efectivo en LS4 porque las tablas antiguas no usan este sistema de RAM, no lo necesitan porque su consumo de operación es bastante grande.

Se agregan las funciones getMaxRAM() y getUsedRAM() para monitorear su consumo de RAM en tiempo real.

Enteros de 64 bits en lugar de 32

Los números enteros ahora se representan en 64 bits en lugar de 32 antes (en todas las versiones de LeekScript). El aumento permite hacer cálculos con números más grandes y permite tener más bits para manipulaciones binarias.

Funciones de flecha

La sintaxis de la "función de flecha" ahora está disponible para escribir funciones anónimas más fácilmente:

Configuración por defecto

En constructores, métodos y métodos estáticos, ahora es posible usar valores predeterminados para cada parámetro:

Acceso a rango de lista e índices negativos

Se añaden dos nuevas posibilidades a las listas de acceso:

##Chan