> 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.
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.
array[10] = v.Map).Array-type bruger alle funktionerne i "List"-kategorien i dokumentationen.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
Kort bruger alle funktionerne i kategorien "Tabel" i dokumentationen, foranstillet med "kort".var tabel = [:]var table = new Map()arraySome(liste, prædikat): returnerer true hvis prædikat returnerer true for mindst ét element på listen.arrayEvery(liste, prædikat): returnerer true hvis prædikat returnerer true for alle elementer på listen.removeAll(liste, element): fjerner alle "element"-elementer fra listen.arrayFrequency(list): returnerer en tabelassocierende (element => kvantitet).arrayChunk(liste, størrelse): returnerer en liste, der indeholder underlister af størrelse N.arrayUnique(list): returnerer en ny matrix uden dubletter.arrayRandom(liste, n): returnerer en liste med N tilfældige elementer.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.
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.
"Pilefunktion"-syntaksen er nu tilgængelig for nemmere at skrive anonyme funktioner:
I konstruktører, metoder og statiske metoder er det nu muligt at bruge standardværdier for hver parameter:
To nye muligheder tilføjes til adgangslister:
liste[-1] returnerer det sidste, liste[-2] returnerer næstsidste.liste[10:20] returnerer en ny liste, der indeholder elementerne fra position 10 (inklusive) til 20 (eksklusiv).list[10:20:3] returnerer elementerne på position 10, 13, 16, 19.liste[20:10:-3] returnerer elementerne i position 20, 17, 14, 11arraySlice(start, end, increment)-funktionen, som erstatter subArray, har samme adfærd som list[start:end:increment]-syntaksen.##Chan
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.