> लीकस्क्रिप्ट
लीकस्क्रिप्ट 4 लीकस्क्रिप्ट भाषा का चौथा संस्करण है, जिसे 1 जुलाई, 2022 को जारी किया गया। यह पृष्ठ इस संस्करण द्वारा लाए गए सभी नई सुविधाओं का सारांश देता है।
लीकस्क्रिप्ट संस्करण 1 से 3 में, सरणियाँ दोनों सूचियाँ थीं ([1, 2, 3, 4]) और साहचर्य तालिकाएँ (['a': 5, 'b': 12])। लीकस्क्रिप्ट 4 के अनुसार, दो पहलुओं को दो अलग-अलग प्रकारों में विभाजित किया गया है: सूचियाँ (ऐरे) और टेबल्स (मैप)। ये दो नए प्रकार पुराने सामान्य प्रकार की तुलना में अधिक कुशल हैं और उपयोग में अधिक स्पष्टता प्रदान करते हैं।
एक ऐरे सूची तत्वों का एक सतत अनुक्रम है, जो इंडेक्स 0 से शुरू होता है। वे जावा के ऐरेलिस्ट या सी++ के वेक्टर के बराबर हैं। आप किसी तत्व को उसकी स्थिति के साथ जल्दी से एक्सेस कर सकते हैं, किसी भी स्थिति में किसी तत्व को सम्मिलित / हटा सकते हैं।
array[10] = v।मैप लौटाता है)।ऐरे प्रकार प्रलेखन की "सूची" श्रेणी के सभी कार्यों का उपयोग करता है।एक नक्शा तालिका एक वस्तु है जो एक कुंजी को एक मूल्य से संबंधित करती है। वे Java के HashMap या C++ के unordered_map के समतुल्य हैं, (कुंजी, मान) के जोड़े ऑर्डर नहीं किए गए हैं। कुंजियाँ किसी भी प्रकार की हो सकती हैं: संख्या (पूर्णांक या वास्तविक), वर्ण स्ट्रिंग, वस्तु, आदि। हम किसी दिए गए कुंजी से जुड़े मान को तुरंत पुनर्प्राप्त कर सकते हैं। यह नया प्रकार पुराने सरणियों के "सहयोगी" पहलू को बदल देता है
मानचित्र प्रलेखन की "तालिका" श्रेणी के सभी कार्यों का उपयोग करता है, जो "नक्शा" द्वारा उपसर्ग है।var तालिका = [:]var तालिका = नया नक्शा ()सरणी कुछ (सूची, विधेय): यदि विधेय सूची के कम से कम एक तत्व के लिए सत्य लौटाता है तो सत्य लौटाता है।सरणी प्रत्येक (सूची, विधेय): रिटर्न सत्य देता है यदि सूची के सभी तत्वों के लिए विधेय सत्य लौटाता है।removeAll (सूची, तत्व): सूची से सभी "तत्व" तत्वों को हटा देता है।arrayFrequencies(list): संबद्ध तालिका (तत्व => मात्रा) लौटाता है।arrayChunk(list, size): आकार N की उप-सूचियों वाली सूची लौटाता है।arrayUnique (सूची): डुप्लिकेट के बिना एक नई सरणी देता है।सरणी यादृच्छिक (सूची, एन): एन यादृच्छिक तत्वों की एक सूची देता है।नई सूचियाँ और कार्ड संचालन में बहुत अधिक कुशल और हल्के होने के कारण, रैम (कार्यक्रम की कार्यशील मेमोरी) के स्तर पर एक सीमा को फिर से स्थापित करना आवश्यक था। दरअसल, बहुत कम ऑपरेशन से गीगाबाइट रैम को आसानी से भरना संभव है।
प्रति लड़ाई प्रत्येक एआई (इकाई + सम्मन) के लिए रैम की सीमा 100 एमबी निर्धारित की गई है, जो 12,500,000 सूची, टेबल या ऑब्जेक्ट आइटम से मेल खाती है। यह सीमा LS4 में प्रभावी है क्योंकि पुरानी तालिकाएँ इस RAM प्रणाली का उपयोग नहीं करती हैं, उन्हें इसकी आवश्यकता नहीं है क्योंकि उनके संचालन की खपत काफी बड़ी है।
getMaxRAM() और getUsedRAM() फ़ंक्शंस वास्तविक समय में इसकी RAM खपत पर नज़र रखने के लिए जोड़े गए हैं।
पूर्णांक अब 32 के बजाय 64 बिट्स पर प्रदर्शित होते हैं (लीकस्क्रिप्ट के सभी संस्करणों में)। वृद्धि बड़ी संख्या के साथ गणना करने की अनुमति देती है और बाइनरी जोड़तोड़ के लिए अधिक बिट्स की अनुमति देती है।
अनाम कार्यों को अधिक सरलता से लिखने के लिए "एरो फ़ंक्शन" सिंटैक्स अब उपलब्ध है:
कंस्ट्रक्टर्स, मेथड्स और स्टैटिक मेथड्स में, अब प्रत्येक पैरामीटर के लिए डिफ़ॉल्ट मानों का उपयोग करना संभव है:
एक्सेस सूचियों में दो नई संभावनाएं जोड़ी गई हैं:
सूची [-1] अंतिम लौटाता है, सूची [-2] अंतिम लौटाता है।सूची [10:20] स्थिति 10 (सम्मिलित) से 20 (अनन्य) तक तत्वों वाली एक नई सूची देता है।सूची [10:20:3] तत्वों को 10, 13, 16, 19 की स्थिति में लौटाता है।सूची [20:10:-3] 20, 17, 14, 11 की स्थिति में तत्वों को लौटाता हैसरणीस्लाइस (प्रारंभ, अंत, वृद्धि) फ़ंक्शन जो उपअरे को प्रतिस्थापित करता है, सूची [प्रारंभ: अंत: वृद्धि] वाक्यविन्यास के समान व्यवहार करता है।##चान
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.