> LeekScript
LeekScript 4 er den fjerde versjonen av LeekScript-språket, utgitt 1. juli 2022. Denne siden oppsummerer alle de nye funksjonene som denne versjonen gir.
I LeekScript versjoner 1 til 3 var arrays både lister ([1, 2, 3, 4]) og assosiative tabeller (['a': 5, 'b': 12]) . Fra og med LeekScript 4 er de to aspektene delt inn i to forskjellige typer: lister ('Array') og tabeller ('Map'). Disse to nye typene er mer effektive enn den gamle vanlige typen, og gir større klarhet i bruk.
En Array-liste er en kontinuerlig sekvens av elementer, som starter ved indeks 0. De tilsvarer ArrayList av Java eller vektor av C++. Du kan raskt få tilgang til et element med dets posisjon, sette inn/slette et element på en hvilken som helst posisjon.
array[10] = v.Array-typen bruker alle funksjonene til "List"-kategorien i dokumentasjonen.En Kart-tabell er et objekt som relaterer en nøkkel til en verdi. De tilsvarer HashMap av Java eller unordered_map av C++, parene av (nøkkel, verdi) er ikke sortert. Nøkler kan være av hvilken som helst type: tall (heltall eller reell), tegnstreng, objekt osv. Vi kan raskt hente en verdi knyttet til en gitt nøkkel. Denne nye typen erstatter det "assosiative" aspektet av de gamle matrisene
Kart bruker alle funksjonene i kategorien "Tabell" i dokumentasjonen, med prefiks av "kart".var table = [:]var table = new Map()arraySome(liste, predikat): returnerer true hvis predikatet returnerer true for minst ett element i listen.arrayEvery(liste, predikat): returnerer true hvis predikatet returnerer true for alle elementene i listen.removeAll(liste, element): fjerner alle "element"-elementer fra listen.arrayFrequency(list): returnerer en assosierende tabell (element => mengde).arrayChunk(liste, størrelse): returnerer en liste som inneholder underlister med størrelse N.arrayUnique(list): returnerer en ny matrise uten duplikater.arrayRandom(liste, n): returnerer en liste med N tilfeldige elementer.Da de nye listene og kortene var mye mer effektive og lette i operasjoner, var det nødvendig å gjenopprette en grense på nivået til RAM (arbeidsminnet til programmet). Med svært liten drift er det faktisk mulig å fylle gigabyte med RAM enkelt.
RAM-grensen er satt til 100 MB for hver AI (enhet + innkalling) per kamp, som tilsvarer 12 500 000 liste-, tabell- eller objektelementer. Denne grensen er effektiv i LS4 fordi de gamle tabellene ikke bruker dette RAM-systemet, de trenger det ikke fordi driftsforbruket deres er stort nok.
Funksjonene "getMaxRAM()" og "getUsedRAM()" legges til for å overvåke RAM-forbruket i sanntid.
Heltall er nå representert på 64 biter i stedet for 32 før (i alle versjoner av LeekScript). Økningen gjør det mulig å gjøre beregninger med større tall og gjør det mulig å ha flere biter for binære manipulasjoner.
"Pilfunksjon"-syntaksen er nå tilgjengelig for å skrive anonyme funksjoner lettere:
I konstruktører, metoder og statiske metoder er det nå mulig å bruke standardverdier for hver parameter:
To nye muligheter er lagt til tilgangslister:
liste[-1] returnerer det siste, liste[-2] returnerer det nest siste.liste[10:20] returnerer en ny liste som inneholder elementene fra posisjon 10 (inklusive) til 20 (eksklusiv).list[10:20:3] returnerer elementene på posisjon 10, 13, 16, 19.list[20:10:-3] returnerer elementene i posisjon 20, 17, 14, 11arraySlice(start, end, increment)-funksjonen som erstatter subArray har samme virkemåte som list[start:end:increment]-syntaksen.##Chan
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.