#LeekScript 4 >LeekScript
LeekScript 4 adalah versi keempat dari bahasa LeekScript, dirilis pada 1 Juli 2022. Halaman ini merangkum semua fitur baru yang dibawa oleh versi ini.
Dalam LeekScript versi 1 hingga 3, array adalah daftar ([1, 2, 3, 4]) dan tabel asosiatif (['a': 5, 'b': 12]) . Pada LeekScript 4, kedua aspek tersebut dipisahkan menjadi dua jenis yang berbeda: daftar (Array) dan tabel (Map). Kedua tipe baru ini lebih efisien daripada tipe lama yang umum, dan memberikan kejelasan yang lebih besar dalam penggunaannya.
Daftar Array adalah urutan elemen yang berkelanjutan, mulai dari indeks 0. Mereka setara dengan ArrayList dari Java atau vector dari C++. Anda dapat dengan cepat mengakses elemen dengan posisinya, menyisipkan/menghapus elemen di posisi mana pun.
array[10] = v.Peta).Array baru menggunakan semua fungsi dari kategori "Daftar" dari dokumentasi.Tabel Peta adalah objek yang menghubungkan kunci dengan nilai. Mereka setara dengan HashMap dari Java atau unordered_map dari C++, pasangan (kunci, nilai) tidak diurutkan. Kunci dapat dari jenis apa saja: angka (bilangan bulat atau nyata), string karakter, objek, dll. Kami dapat dengan cepat mengambil nilai yang terkait dengan kunci yang diberikan. Tipe baru ini menggantikan aspek "asosiatif" dari array lama
Peta menggunakan semua fungsi dari kategori "Tabel" dari dokumentasi, diawali dengan "peta".var tabel = [:]var tabel = Peta baru()arraySome(list, predicate): mengembalikan true jika predikat mengembalikan true untuk setidaknya satu elemen daftar.arrayEvery(list, predicate): mengembalikan true jika predikat mengembalikan true untuk semua elemen daftar.removeAll(list, element): menghapus semua elemen "elemen" dari daftar.arrayFrequencies(list): mengembalikan asosiasi tabel (elemen => kuantitas).arrayChunk(list, size): mengembalikan daftar yang berisi sub-daftar dengan ukuran N.arrayUnique(list): mengembalikan array baru tanpa duplikat.arrayRandom(list, n): mengembalikan daftar N elemen acak.Daftar dan kartu baru menjadi jauh lebih efisien dan ringan dalam pengoperasian, perlu untuk menetapkan kembali batas pada level RAM (memori kerja program). Memang, dengan pengoperasian yang sangat sedikit dimungkinkan untuk mengisi gigabyte RAM dengan mudah.
Batas RAM ditetapkan pada 100MB untuk setiap AI (entitas + panggilan) per pertarungan, yang sesuai dengan 12.500.000 item daftar, meja, atau objek. Batas ini efektif di LS4 karena tabel lama tidak menggunakan sistem RAM ini, mereka tidak membutuhkannya karena konsumsi operasinya cukup besar.
Fungsi getMaxRAM() dan getUsedRAM() ditambahkan untuk memantau konsumsi RAM secara real time.
Bilangan bulat sekarang direpresentasikan pada 64 bit, bukan 32 sebelumnya (di semua versi LeekScript). Peningkatan memungkinkan untuk melakukan perhitungan dengan angka yang lebih besar dan memungkinkan untuk memiliki lebih banyak bit untuk manipulasi biner.
Sintaks "Fungsi panah" kini tersedia untuk menulis fungsi anonim dengan lebih mudah:
Dalam konstruktor, metode, dan metode statis, sekarang dimungkinkan untuk menggunakan nilai default untuk setiap parameter:
Dua kemungkinan baru ditambahkan ke daftar akses:
list[-1] mengembalikan yang terakhir, list[-2] mengembalikan yang kedua dari belakang.list[10:20] mengembalikan daftar baru yang berisi elemen dari posisi 10 (inklusif) hingga 20 (eksklusif).list[10:20:3] mengembalikan elemen pada posisi 10, 13, 16, 19.list[20:10:-3] mengembalikan elemen pada posisi 20, 17, 14, 11arraySlice(start, end, increment) yang menggantikan subArray memiliki perilaku yang sama dengan sintaks list[start:end:increment].##Chan
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.