LeekScript 4

LeekScript 4

> 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.

Array og Map separert

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.

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

Nye funksjoner for lister

RAM-grense tilbakemelding

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.

64-biters heltall i stedet for 32

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.

Pilfunksjoner

"Pilfunksjon"-syntaksen er nå tilgjengelig for å skrive anonyme funksjoner lettere:

Standard instillinger

I konstruktører, metoder og statiske metoder er det nå mulig å bruke standardverdier for hver parameter:

Listeområdetilgang og negative indekser

To nye muligheter er lagt til tilgangslister:

##Chan