LeekScript 2(原LeekScript 1.1)是Leek Wars语言LeekScript的第二个版本,于2021年2月28日发布。旨在清理语言,进行修正并添加面向编程对象。
## 推介会
由于对语言的工作方式进行了深度修改,因此这是一个没有向后兼容性的版本,由用户在编辑器中手动激活。
第 2 版是迈向 2016 年宣布的未来版本的一步。因此,第 2 版中包含许多计划中的功能,使语言逐步升级,这些功能对编写复杂的 AI 非常有利。
这里有一个专门的迁移帮助页面:LeekScript 1 to 2 Migration。
添加了面向对象的编程:类和对象。有关此添加的所有文档,请参阅 类和对象 页面。
关键字 new、class、extends、static、public、 protected, private, implements, interface, constructor, this , super 和 instanceof 为 OOP 保留,因此不再可用于变量或函数名称。
非原始值,即数组和对象默认通过引用传递。原始值(数字、布尔值、字符串)总是被复制。
@ 语法不再使用,因此在任何地方都被弃用。在 LeekScript 2 中不可能创建对原始值的引用。
能够在数组(和对象)中添加引用,允许以合理的成本创建复杂和/或递归结构。
在 1 中难以实现而在 2 中非常容易的数据结构示例:
###克隆()函数 添加了一个 clone(value, [level]) 函数来精确克隆一个值:
编辑器中返回了几个语义错误,而不是一个(在 LS 1 中也可用)。


完整的调用堆栈显示在每个错误下方,而不是之前的一行(在 LS 1 中也可用)。

但是当然总是可以使用它。 (也适用于 LS 1)
删除了数组大小限制,操作成本足以限制它们的使用。
##修复
修复了 arrayFilter:数组被正确重新索引而不留下空值。
### 链 ”\\\\” 修复了转义字符串 "\\" 的问题,该字符串正确显示单个 \\ 而不是两个。
修复跨多个文件的全局声明。
修复了 ^= 运算符成为二进制 OR 而不是幂的问题。
shuffle 函数考虑了连接到战斗种子的随机数生成器,因此对于同一种子是确定性的。它可能会导致同一种子产生的两场战斗之间的差异,从而影响测试。
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.