LeekScript 4

LeekScript 4

> LeekScript

LeekScript 4 er den fjerde version af LeekScript sproget, udgivet den 1. juli 2022. Denne side opsummerer alle de nye funktioner, som denne version bringer.

Array og Map adskilt

I LeekScript version 1 til 3 var arrays både lister ([1, 2, 3, 4]) og associative tabeller (['a': 5, 'b': 12]). Fra LeekScript 4 er de to aspekter opdelt i to forskellige typer: lister ('Array') og tabeller ('Map'). Disse to nye typer er mere effektive end den gamle almindelige type og giver større klarhed i brugen.

En Array-liste er en kontinuerlig sekvens af elementer, der starter ved indeks 0. De svarer til ArrayList af Java eller vektor af C++. Du kan hurtigt få adgang til et element med dets position, indsætte/slette et element på enhver position.

En 'Map'-tabel er et objekt, der relaterer en nøgle til en værdi. De svarer til HashMap af Java eller unordered_map af C++, parrene af (nøgle, værdi) er ikke ordnet. Nøgler kan være af enhver type: tal (heltal eller reelt), tegnstreng, objekt osv. Vi kan hurtigt hente en værdi knyttet til en given nøgle. Denne nye type erstatter det "associative" aspekt af de gamle arrays

Nye funktioner til lister

RAM-grænsefeedback

Da de nye lister og kort var meget mere effektive og lette i driften, var det nødvendigt at genetablere en grænse på RAM-niveauet (programmets arbejdshukommelse). Med meget lidt betjening er det faktisk muligt at fylde gigabyte RAM nemt.

RAM-grænsen er sat til 100 MB for hver AI (entitet + indkaldelse) pr. kamp, hvilket svarer til 12.500.000 liste-, tabel- eller objektelementer. Denne grænse er effektiv i LS4, fordi de gamle tabeller ikke bruger dette RAM-system, de har ikke brug for det, fordi deres driftsforbrug er stort nok.

Funktionerne getMaxRAM() og getUsedRAM() tilføjes for at overvåge dets RAM-forbrug i realtid.

64-bit heltal i stedet for 32

Heltal er nu repræsenteret på 64 bit i stedet for 32 før (i alle versioner af LeekScript). Forøgelsen gør det muligt at udføre beregninger med større tal og giver mulighed for at have flere bits til binære manipulationer.

Pile funktioner

"Pilefunktion"-syntaksen er nu tilgængelig for nemmere at skrive anonyme funktioner:

Standardindstillinger

I konstruktører, metoder og statiske metoder er det nu muligt at bruge standardværdier for hver parameter:

Listeområdeadgang og negative indekser

To nye muligheder tilføjes til adgangslister:

##Chan