LeekScript 4

LeekScript 4

> LeekScript

LeekScript 4 is de vierde versie van de LeekScript-taal, uitgebracht op 1 juli 2022. Deze pagina geeft een overzicht van alle nieuwe functies van deze versie.

Array en kaart gescheiden

In LeekScript versies 1 tot 3 waren arrays zowel lijsten ([1, 2, 3, 4]) als associatieve tabellen (['a': 5, 'b': 12]). Vanaf LeekScript 4 zijn de twee aspecten gescheiden in twee verschillende typen: lijsten (Array) en tabellen (Map). Deze twee nieuwe typen zijn efficiënter dan het oude gangbare type en geven meer duidelijkheid in het gebruik.

Een Array-lijst is een continue reeks elementen, beginnend bij index 0. Ze zijn gelijk aan ArrayList van Java of vector van C++. U kunt snel toegang krijgen tot een element met zijn positie, een element invoegen/verwijderen op elke positie.

Een Map-tabel is een object dat een sleutel relateert aan een waarde. Ze zijn gelijk aan HashMap van Java of unordered_map van C++, de paren van (sleutel, waarde) zijn niet geordend. Sleutels kunnen van elk type zijn: getal (geheel getal of reëel), tekenreeks, object, enz. We kunnen snel een waarde ophalen die aan een bepaalde sleutel is gekoppeld. Dit nieuwe type vervangt het "associatieve" aspect van de oude arrays

Nieuwe functies voor lijsten

RAM-limietfeedback

Omdat de nieuwe lijsten en kaarten veel efficiënter en lichter in gebruik waren, was het nodig om opnieuw een limiet in te stellen op het niveau van de RAM (werkgeheugen van het programma). Inderdaad, met zeer weinig handelingen is het mogelijk om gemakkelijk gigabytes aan RAM te vullen.

De RAM-limiet is vastgesteld op 100 MB voor elke AI (entiteit + oproep) per gevecht, wat overeenkomt met 12.500.000 lijst-, tabel- of objectitems. Deze limiet is van kracht in LS4 omdat de oude tabellen dit RAM-systeem niet gebruiken, ze hebben het niet nodig omdat hun bewerkingsverbruik groot genoeg is.

De functies getMaxRAM() en getUsedRAM() zijn toegevoegd om het RAM-verbruik in realtime te bewaken.

64-bits gehele getallen in plaats van 32

Integers worden nu weergegeven op 64 bits in plaats van 32 voorheen (in alle versies van LeekScript). De toename maakt het mogelijk om berekeningen met grotere getallen uit te voeren en maakt het mogelijk om meer bits te hebben voor binaire manipulaties.

Pijlfuncties

De syntaxis "Pijlfunctie" is nu beschikbaar om anonieme functies eenvoudiger te schrijven:

Standaard instellingen

In constructors, methodes en statische methodes is het nu mogelijk om voor elke parameter standaardwaarden te gebruiken:

Lijstbereiktoegang en negatieve indices

Er zijn twee nieuwe mogelijkheden toegevoegd aan toegangslijsten:

##Kan