LeekScript 2(이전 LeekScript 1.1)는 2021년 2월 28일 출시된 Leek Wars의 언어인 LeekScript의 두 번째 버전입니다. 언어를 정리하고 수정하고 지향 프로그래밍 개체를 추가하는 것을 목표로 합니다.
언어 작동 방식이 크게 수정되었기 때문에 이전 버전과의 호환성이 없는 버전으로 편집기에서 사용자가 수동으로 활성화합니다.
버전 2는 2016년에 발표된 미래 버전을 향한 한 걸음입니다. 따라서 버전 2에는 계획된 많은 기능이 있어 언어가 점진적으로 발전할 수 있으며 이러한 기능은 복잡한 AI를 코딩하는 데 매우 유용합니다.
전용 마이그레이션 도움말 페이지는 LeekScript 1 to 2 Migration에서 사용할 수 있습니다.
개체 지향 프로그래밍 추가: 클래스 및 개체. 이 추가 사항에 대한 모든 문서는 Classes and Objects 페이지를 참조하십시오.
키워드 new, class, extends, static, public, 보호됨, 개인, 구현, 인터페이스, 생성자, 이 , super 및 instanceof는 OOP용으로 예약되어 있으므로 더 이상 변수 또는 함수 이름에 사용할 수 없습니다.
기본이 아닌 값, 즉 배열 및 개체는 기본적으로 참조로 전달됩니다. 기본 값(숫자, 부울, 문자열)은 항상 복사됩니다.
@ 구문은 더 이상 사용되지 않으므로 모든 곳에서 사용되지 않습니다. LeekScript 2에서는 기본 값에 대한 참조를 만드는 것이 불가능합니다.
배열(및 개체)에 참조를 추가하여 합리적인 비용으로 복잡하거나 재귀적인 구조를 만들 수 있습니다.
1에서 달성하기 어렵고 2에서 매우 쉬운 데이터 구조의 예:
값을 정확하게 복제하기 위해 clone(value, [level]) 함수를 추가했습니다.
하나가 아닌 여러 의미론적 오류가 편집기에 반환되었습니다(LS 1에서도 사용 가능).


전체 호출 스택이 각 오류 아래에 표시됩니다(LS 1에서도 사용 가능).

그러나 물론 그것을 사용하는 것은 항상 가능합니다. (LS 1에서도 사용 가능)
배열 크기 제한이 제거되어 작업 비용이 사용을 제한하기에 충분합니다.
고정된 arrayFilter: null 값을 남기지 않고 배열이 올바르게 재인덱싱됩니다.
두 개가 아닌 하나의 \를 올바르게 표시하는 "\\" 문자열 이스케이프를 수정했습니다.
여러 파일에서 전역 선언을 수정했습니다.
^= 연산자가 거듭제곱 대신 이진 OR이 되는 문제를 수정했습니다.
셔플 기능은 전투 시드에 연결된 난수 생성기를 고려하므로 동일한 시드에 대해 결정론적입니다. 테스트에 영향을 미치는 동일한 시드에서 생성된 두 싸움 사이에 변형이 발생할 수 있습니다.
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.