> 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.
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.
array[10] = v.Map retourneert).Array gebruikt alle functies van de categorie "Lijst" van de documentatie.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
Map gebruikt alle functies van de categorie "Tabel" van de documentatie, voorafgegaan door "kaart".var tabel = [:]var tabel = nieuwe kaart()arraySommige(lijst, predikaat): retourneert true als predikaat true retourneert voor ten minste één element van de lijst.arrayEvery(list, predicate): retourneert true als predikaat true retourneert voor alle elementen van de lijst.removeAll(list, element): verwijdert alle "element"-elementen uit de lijst.arrayFrequencies(list): geeft een tabel terug die associeert (element => kwantiteit).arrayChunk(list, size): geeft een lijst met sublijsten van grootte N.arrayUnique(list): retourneert een nieuwe array zonder duplicaten.arrayRandom(lijst, n): geeft een lijst van N willekeurige elementen.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.
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.
De syntaxis "Pijlfunctie" is nu beschikbaar om anonieme functies eenvoudiger te schrijven:
In constructors, methodes en statische methodes is het nu mogelijk om voor elke parameter standaardwaarden te gebruiken:
Er zijn twee nieuwe mogelijkheden toegevoegd aan toegangslijsten:
lijst[-1] retourneert de laatste, lijst[-2] retourneert de voorlaatste.lijst[10:20] retourneert een nieuwe lijst met de elementen van positie 10 (inclusief) tot 20 (exclusief).lijst[10:20:3] retourneert de elementen op positie 10, 13, 16, 19.lijst[20:10:-3] geeft de elementen terug op positie 20, 17, 14, 11arraySlice(start, end, increment) functie die subArray vervangt heeft hetzelfde gedrag als de list[start:end:increment] syntaxis.##Kan
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.