LeekScript 4

#LeekScript4 > LeekScript

LeekScript 4 é a quarta versão da linguagem LeekScript, lançada em 1º de julho de 2022. Esta página resume todas as novidades trazidas por esta versão.

Array e Map separados

Nas versões 1 a 3 do LeekScript, os arrays eram tanto listas ([1, 2, 3, 4]) quanto tabelas associativas (['a': 5, 'b': 12]). A partir do LeekScript 4, os dois aspectos são separados em dois tipos diferentes: listas (Array) e tabelas (Map). Esses dois novos tipos são mais eficientes do que o antigo tipo comum e oferecem maior clareza no uso.

Uma lista Array é uma seqüência contínua de elementos, começando no índice 0. Eles são equivalentes a ArrayList de Java ou vector de C++. Você pode acessar rapidamente um elemento com sua posição, inserir/excluir um elemento em qualquer posição.

Uma tabela Map é um objeto que relaciona uma chave a um valor. Eles são equivalentes a HashMap de Java ou unordered_map de C++, os pares de (chave, valor) não são ordenados. As chaves podem ser de qualquer tipo: número (inteiro ou real), cadeia de caracteres, objeto, etc. Podemos recuperar rapidamente um valor associado a uma determinada chave. Este novo tipo substitui o aspecto "associativo" dos antigos arrays

Novas funções para listas

Feedback de limite de RAM

Sendo as novas listas e cartões muito mais eficientes e leves nas operações, foi necessário restabelecer um limite ao nível da RAM (memória de trabalho do programa). De fato, com muito pouca operação é possível preencher gigabytes de RAM facilmente.

O limite de RAM é de 100 MB para cada IA (entidade + convocação) por luta, o que corresponde a 12.500.000 itens de lista, mesa ou objeto. Este limite é efetivo no LS4 porque as tabelas antigas não utilizam este sistema de RAM, elas não precisam dele porque seu consumo de operação é grande o suficiente.

As funções getMaxRAM() e getUsedRAM() são adicionadas para monitorar seu consumo de RAM em tempo real.

Números inteiros de 64 bits em vez de 32

Os inteiros agora são representados em 64 bits em vez de 32 antes (em todas as versões do LeekScript). O aumento permite fazer cálculos com números maiores e permite ter mais bits para manipulações binárias.

Funções de seta

A sintaxe "Função de seta" agora está disponível para escrever funções anônimas de maneira mais simples:

Configurações padrão

Em construtores, métodos e métodos estáticos, agora é possível usar valores padrão para cada parâmetro:

Acesso ao intervalo de lista e índices negativos

Duas novas possibilidades são adicionadas às listas de acesso:

##Chan