> LeekScript
LeekScript 4 to czwarta wersja języka LeekScript, wydana 1 lipca 2022 r. Ta strona podsumowuje wszystkie nowe funkcje wprowadzone przez tę wersję.
W wersjach LeekScript od 1 do 3 tablice były zarówno listami ([1, 2, 3, 4]), jak i tabelami asocjacyjnymi (['a': 5, 'b': 12]). Od LeekScript 4 te dwa aspekty są podzielone na dwa różne typy: listy (Array) i tabele (Map). Te dwa nowe typy są bardziej wydajne niż stary popularny typ i zapewniają większą przejrzystość w użyciu.
Lista Array to ciągła sekwencja elementów, rozpoczynająca się od indeksu 0. Są one równoważne z ArrayList w Javie lub vector w C++. Możesz szybko uzyskać dostęp do elementu wraz z jego pozycją, wstawić/usunąć element w dowolnej pozycji.
array[10] = v.Map).Array wykorzystuje wszystkie funkcje dokumentacji kategorii "Lista".Tabela Map jest obiektem, który wiąże klucz z wartością. Są one odpowiednikiem HashMap w Javie lub unordered_map w C++, pary (klucz, wartość) nie są uporządkowane. Klucze mogą być dowolnego typu: liczbowe (całkowite lub rzeczywiste), łańcuch znaków, obiekt itp. Możemy szybko pobrać wartość powiązaną z danym kluczem. Ten nowy typ zastępuje aspekt „asocjacyjny” starych tablic
Mapa wykorzystuje wszystkie funkcje dokumentacji kategorii "Tabela", poprzedzone słowem "mapa".tabela zmiennych = [:]tabela zmiennych = nowa mapa()arraySome(list, predicate): zwraca true, jeśli predykat zwraca true dla co najmniej jednego elementu listy.arrayEvery(list, predicate): zwraca true, jeśli predykat zwraca true dla wszystkich elementów listy.removeAll(list, element): usuwa wszystkie elementy "elementowe" z listy.arrayFrequences(list): zwraca tabelę asocjacyjną (element => ilość).arrayChunk(list, size): zwraca listę zawierającą podlisty o rozmiarze N.arrayUnique(list): zwraca nową tablicę bez duplikatów.arrayRandom(list, n): zwraca listę N losowych elementów.Ponieważ nowe listy i karty były znacznie wydajniejsze i lżejsze w działaniu, konieczne było ponowne ustalenie limitu na poziomie pamięci RAM (pamięć robocza programu). Rzeczywiście, przy bardzo niewielkiej operacji można łatwo wypełnić gigabajty pamięci RAM.
Limit pamięci RAM jest ustalony na 100 MB dla każdej sztucznej inteligencji (podmiotu + wezwania) na walkę, co odpowiada 12 500 000 pozycji listy, tabeli lub obiektów. To ograniczenie obowiązuje w LS4, ponieważ stare tablice nie korzystają z tego systemu RAM, nie potrzebują go, ponieważ ich zużycie operacyjne jest wystarczająco duże.
Dodano funkcje getMaxRAM() i getUsedRAM() w celu monitorowania zużycia pamięci RAM w czasie rzeczywistym.
Liczby całkowite są teraz reprezentowane na 64 bitach zamiast 32 wcześniej (we wszystkich wersjach LeekScript). Zwiększenie pozwala wykonywać obliczenia z większymi liczbami i pozwala mieć więcej bitów do manipulacji binarnych.
Dostępna jest teraz składnia „Funkcja strzałki”, która ułatwia pisanie funkcji anonimowych:
W konstruktorach, metodach i metodach statycznych możliwe jest teraz użycie wartości domyślnych dla każdego parametru:
Do list dostępu dodano dwie nowe możliwości:
list[-1] zwraca ostatni, list[-2] zwraca przedostatni.list[10:20] zwraca nową listę zawierającą elementy od pozycji 10 (włącznie) do 20 (wyłącznie).list[10:20:3] zwraca elementy na pozycji 10, 13, 16, 19.list[20:10:-3] zwraca elementy na pozycji 20, 17, 14, 11arraySlice(start, end, increment), która zastępuje subArray, zachowuje się tak samo jak składnia list[start:end:increment].##Chan
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.