LeekScript 2 (aiemmin LeekScript 1.1) on toinen versio LeekScript:stä, Leek Warsin kielestä, joka julkaistiin 28. helmikuuta 2021. Sen tarkoituksena on puhdistaa kieli, tehdä korjauksia ja lisätä orientoitunutta ohjelmointiobjektia.
Koska kielen toimintaan tehdään perusteellisia muutoksia, tämä on versio, jossa ei ole taaksepäin yhteensopivuutta ja jonka käyttäjä aktivoi manuaalisesti editorissa.
Versio 2 on askel kohti tulevaa versiota, joka julkistettiin vuonna 2016. Siksi versiossa 2 on monia suunniteltuja ominaisuuksia, jotka mahdollistavat kielen asteittaisen kehittymisen. Nämä ominaisuudet ovat erittäin hyödyllisiä monimutkaisen tekoälyn koodauksessa.
Erillinen siirtoa koskeva ohjesivu on saatavilla täältä: LeekScript 1 to 2 Migration.
Lisätty olio-ohjelmointi: luokat ja objektit. Katso Luokat ja objektit-sivulta kaikki tämän lisäyksen dokumentaatio.
Avainsanat uusi, luokka, laajentuu, staattinen, julkinen, suojattu, yksityinen, toteutukset, käyttöliittymä, rakentaja, tämä , super ja instanceof on varattu OOP:lle, joten ne eivät ole enää käytettävissä muuttujien tai funktioiden nimissä.
Ei-primitiiviset arvot eli taulukot ja objektit välitetään oletuksena viittauksella. Primitiiviset arvot (luku, boolean, merkkijono) kopioidaan aina.
@-syntaksia ei enää käytetä, joten se on vanhentunut kaikkialla. LeekScript 2:ssa ei ole mahdollista luoda viittauksia primitiiviseen arvoon.
Kyky lisätä viitteitä taulukoihin (ja objekteihin), jolloin voidaan luoda monimutkaisia ja/tai rekursiivisia rakenteita kohtuullisin kustannuksin.
Esimerkkejä tietorakenteista, joita on vaikea saavuttaa kohdassa 1 ja erittäin helppoa kahdessa:
Lisätty funktio clone(value, [taso]) arvon kloonaamiseksi tarkasti:
Editorissa palasi useita semanttisia virheitä yhden sijasta (saatavilla myös LS 1:ssä).


Täysi puhelupino näkyy jokaisen virheen alla yhden rivin sijaan (saatavilla myös LS 1:ssä).

Mutta ainahan sitä voi tietysti käyttää. (saatavilla myös LS 1:ssä)
Matriisin kokorajoitus poistetaan, ja toiminnan kustannukset riittävät rajoittamaan niiden käyttöä.
Kiinteä arrayFilter: taulukko indeksoidaan oikein uudelleen jättämättä nolla-arvoja.
Korjattu merkkijonon "\\" poistomerkki, joka näyttää oikein yhden \` kahden sijaan.
Korjaa useiden tiedostojen yleiset ilmoitukset.
Korjattu ^=-operaattorista, josta tuli binääri TAI tehon sijaan.
Sekoitustoiminto ottaa huomioon taistelusiemeneen liitetyn satunnaislukugeneraattorin ja on siksi deterministinen samalle siemenelle. Se voi aiheuttaa eroja kahden samasta siemenestä luodun taistelun välillä, mikä vaikuttaa testeihin.
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.