LeekScript 2 (tidligere LeekScript 1.1) er den andre versjonen av LeekScript, språket til Leek Wars, utgitt 28. februar 2021. Målet er å rydde opp i språket, foreta korrigeringer og legge til orienterte programmeringsobjekter.
Siden det gjøres dype modifikasjoner i måten språket fungerer på, er dette en versjon uten bakoverkompatibilitet som aktiveres manuelt av brukeren i editoren.
Versjon 2 er et skritt mot den fremtidige versjonen som ble annonsert i 2016. Mange planlagte funksjoner er derfor til stede i versjon 2, noe som gjør at språket kan utvikles gradvis, og disse funksjonene er svært fordelaktige for koding av kompleks AI.
En dedikert hjelpeside for migrering er tilgjengelig her: LeekScript 1 til 2-migrering.
Lagt til objektorientert programmering: klasser og objekter. Se Klasser og objekter-siden for all dokumentasjon om dette tillegget.
Søkeordene ny, klasse, utvider, statisk, offentlig, beskyttet, privat, implementer, grensesnitt, konstruktør, dette , super og instanceof er reservert for OOP og er derfor ikke lenger tilgjengelig for variabel- eller funksjonsnavn.
Ikke-primitive verdier, dvs. matriser og objekter sendes som referanse som standard. Primitive verdier (tall, boolsk, streng) kopieres alltid.
@-syntaksen brukes ikke lenger og er derfor avviklet overalt. Det er ikke mulig i LeekScript 2 å lage referanser til en primitiv verdi.
Evne til å legge til referanser i arrays (og objekter), slik at du kan lage komplekse og/eller rekursive strukturer til en rimelig pris.
Eksempler på datastrukturer som er vanskelige å oppnå i 1 og veldig enkle i 2:
La til en "klone(verdi, [nivå])"-funksjon for å klone en verdi nøyaktig:
Flere semantiske feil returnerte i editoren i stedet for bare én (også tilgjengelig i LS 1).


Hele anropsstakken vises under hver feil, i stedet for bare én linje før (også tilgjengelig i LS 1).

Men det er alltid mulig å bruke det selvfølgelig. (også tilgjengelig i LS 1)
Array-størrelsesgrensen fjernes, og kostnadene ved operasjoner er tilstrekkelige til å begrense bruken.
Fixed arrayFilter: array er korrekt reindeksert uten å etterlate nullverdier.
Rettet escape-strengen "\\" som viser en enkelt \ riktig i stedet for to.
Fiks på globale erklæringer på tvers av flere filer.
Fikset ^=-operatoren som ble den binære OR i stedet for potensen.
Shuffle-funksjonen tar hensyn til tilfeldig tallgeneratoren som er koblet til kampfrøet og er derfor deterministisk for samme frø. Det kan forårsake variasjoner mellom to kamper generert fra samme frø, noe som påvirker testene.
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.