> 리크스크립트
LeekScript 4는 2022년 7월 1일에 출시된 LeekScript 언어의 네 번째 버전입니다. 이 페이지에는 이 버전에서 가져온 모든 새로운 기능이 요약되어 있습니다.
LeekScript 버전 1~3에서 배열은 목록([1, 2, 3, 4]) 및 연관 테이블(['a': 5, 'b': 12]) 모두였습니다. LeekScript 4부터 두 측면은 목록(Array)과 테이블(Map)의 두 가지 유형으로 분리됩니다. 이 두 가지 새로운 유형은 이전의 일반 유형보다 더 효율적이며 사용이 더 명확합니다.
Array 목록은 인덱스 0에서 시작하는 연속적인 요소 시퀀스입니다. Java의 ArrayList 또는 C++의 vector와 동일합니다. 해당 위치로 요소에 빠르게 액세스할 수 있으며 임의의 위치에서 요소를 삽입/삭제할 수 있습니다.
array[10] = v와 같이 즉석에서 요소를 생성하는 것은 더 이상 불가능합니다.Map을 반환하는 getRegisters 제외).Array 유형은 문서의 "목록" 범주의 모든 기능을 사용합니다.'맵' 테이블은 키와 값을 연결하는 객체입니다. Java의 HashMap 또는 C++의 unordered_map과 동일하며 (키, 값)의 쌍은 순서가 지정되지 않습니다. 키는 숫자(정수 또는 실수), 문자열, 객체 등 모든 유형이 될 수 있습니다. 주어진 키와 관련된 값을 빠르게 검색할 수 있습니다. 이 새로운 유형은 이전 배열의 "연관" 측면을 대체합니다.
Map은 접두어 "map"이 붙은 문서의 "Table" 범주의 모든 기능을 사용합니다.변수 테이블 = [:]var table = new Map()arraySome(list, predicate): 술어가 목록의 적어도 하나의 요소에 대해 true를 반환하면 true를 반환합니다.arrayEvery(list, predicate): 술어가 목록의 모든 요소에 대해 true를 반환하면 true를 반환합니다.removeAll(list, element): 목록에서 모든 "요소" 요소를 제거합니다.arrayFrequencies(list): 테이블 연관(요소 => 수량)을 반환합니다.arrayChunk(list, size): 크기 N의 하위 목록을 포함하는 목록을 반환합니다.arrayUnique(list): 중복 없이 새로운 배열을 반환합니다.arrayRandom(list, n): N개의 임의 요소 목록을 반환합니다.새로운 목록과 카드는 작업이 훨씬 더 효율적이고 가볍기 때문에 RAM(프로그램의 작업 메모리) 수준에서 제한을 다시 설정해야 했습니다. 실제로, 아주 적은 조작으로 기가바이트의 RAM을 쉽게 채울 수 있습니다.
RAM 제한은 전투당 각 AI(엔티티 + 소환)에 대해 100MB로 설정되며, 이는 12,500,000개의 목록, 테이블 또는 개체 항목에 해당합니다. 이 제한은 이전 테이블이 이 RAM 시스템을 사용하지 않기 때문에 LS4에서 유효하며 작업 소비가 충분히 크기 때문에 필요하지 않습니다.
RAM 소비를 실시간으로 모니터링하기 위해 getMaxRAM() 및 getUsedRAM() 기능이 추가되었습니다.
정수는 이제 이전의 32비트 대신 64비트로 표시됩니다(모든 버전의 LeekScript에서). 증가로 인해 더 큰 숫자로 계산할 수 있고 이진 조작을 위해 더 많은 비트를 가질 수 있습니다.
이제 "화살표 함수" 구문을 사용하여 익명 함수를 보다 쉽게 작성할 수 있습니다.
생성자, 메소드 및 정적 메소드에서 이제 각 매개변수에 대한 기본값을 사용할 수 있습니다.
액세스 목록에 두 가지 새로운 가능성이 추가되었습니다.
list[-1]은 마지막 요소를 반환하고 list[-2]는 두 번째 요소를 반환합니다.list[10:20]은 위치 10(포함)에서 20(제외)까지의 요소를 포함하는 새 목록을 반환합니다.list[10:20:3]은 위치 10, 13, 16, 19에 있는 요소를 반환합니다.list[20:10:-3]은 위치 20, 17, 14, 11에 있는 요소를 반환합니다.subArray를 대체하는 arraySlice(start, end, increment) 함수는 list[start:end:increment] 구문과 동작이 동일합니다.##찬
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.