> 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.
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.
array[10] = v.Map).Array utiliza todas las funciones de la categoría "Lista" de la documentació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
Mapa utiliza todas las funciones de la categoría "Tabla" de la documentación, precedida de "mapa".tabla var = [:]tabla var = nuevo Mapa()arraySome(lista, predicado): devuelve verdadero si el predicado devuelve verdadero para al menos un elemento de la lista.arrayEvery(lista, predicado): devuelve verdadero si el predicado devuelve verdadero para todos los elementos de la lista.removeAll(list, element): elimina todos los elementos "elemento" de la lista.arrayFrequencies(list): devuelve una tabla asociando (elemento => cantidad).arrayChunk(lista, tamaño): devuelve una lista que contiene sublistas de tamaño N.arrayUnique(list): devuelve una nueva matriz sin duplicados.arrayRandom(list, n): devuelve una lista de N elementos aleatorios.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.
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.
La sintaxis de la "función de flecha" ahora está disponible para escribir funciones anónimas más fácilmente:
En constructores, métodos y métodos estáticos, ahora es posible usar valores predeterminados para cada parámetro:
Se añaden dos nuevas posibilidades a las listas de acceso:
list[-1] devuelve el último, list[-2] devuelve el penúltimo.list[10:20] devuelve una nueva lista que contiene los elementos desde la posición 10 (inclusive) hasta la 20 (exclusiva).list[10:20:3] devuelve los elementos en la posición 10, 13, 16, 19.list[20:10:-3] devuelve los elementos en la posición 20, 17, 14, 11arraySlice(start, end, increment) que reemplaza a subArray tiene el mismo comportamiento que la sintaxis list[start:end:increment].##Chan
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.