LeekScript 2 (tidligere LeekScript 1.1) er den anden version af LeekScript, sproget i Leek Wars, udgivet den 28. februar 2021. Det har til formål at rydde op i sproget, foretage rettelser og tilføje orienterede programmeringsobjekter.
Da der laves dybe ændringer i måden sproget fungerer på, er dette en version uden bagudkompatibilitet, som aktiveres manuelt af brugeren i editoren.
Version 2 er et skridt mod den fremtidige version, der blev annonceret i 2016. Mange planlagte funktioner er derfor til stede i version 2, hvilket gør det muligt at avancere sproget gradvist, og disse funktioner er meget gavnlige til kodning af kompleks AI.
En dedikeret migreringshjælpeside er tilgængelig her: LeekScript 1 til 2 Migration.
Tilføjet objektorienteret programmering: klasser og objekter. Se siden Klasser og objekter for al dokumentation om denne tilføjelse.
Søgeordene ny, klasse, udvider, statisk, offentlig, beskyttet, privat, implementer, grænseflade, konstruktør, dette , super og instanceof er reserveret til OOP og er derfor ikke længere tilgængelige for variabel- eller funktionsnavne.
Ikke-primitive værdier, dvs. arrays og objekter sendes som standard som reference. Primitive værdier (tal, boolean, streng) kopieres altid.
@-syntaksen bruges ikke længere og er derfor forældet overalt. Det er ikke muligt i LeekScript 2 at oprette referencer til en primitiv værdi.
Evne til at tilføje referencer i arrays (og objekter), hvilket gør det muligt at skabe komplekse og/eller rekursive strukturer til en rimelig pris.
Eksempler på datastrukturer, der er svære at opnå i 1 og meget nemme i 2:
Tilføjet en "clone(value, [level])"-funktion for at klone en værdi præcist:
Flere semantiske fejl returnerede i editoren i stedet for kun én (også tilgængelig i LS 1).


Den fulde opkaldsstak vises under hver fejl i stedet for kun én linje før (også tilgængelig i LS 1).

Men det er selvfølgelig altid muligt at bruge det. (fås også i LS 1)
Arraystørrelsesgrænsen fjernes, idet omkostningerne ved operationer er tilstrækkelige til at begrænse deres brug.
Fixed arrayFilter: array er korrekt genindekseret uden at efterlade nulværdier.
Rettet escape af strengen "\\", som korrekt viser en enkelt \ i stedet for to.
Ret på globale erklæringer på tværs af flere filer.
Rettet ^=-operator, der blev den binære ELLER i stedet for potensen.
Bland-funktionen tager højde for den tilfældige talgenerator, der er forbundet til kampfrøet og er derfor deterministisk for samme frø. Det kan forårsage variationer mellem to kampe genereret fra det samme frø, hvilket påvirker testene.
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.