严格模式

严格模式

> LeekScript

严格模式是 LeekScript 的一个选项,可以在编辑器中开启,用来改变语言的行为。它面向有经验的玩家,不建议新手使用。

历史

严格模式在 2.38 更新中发布。

开启方式

点击编辑器底部的“LeekScript X”按钮,勾选 Mode Strict(严格模式)复选框。和 AI 的版本设置一样,严格模式会作用于这个 AI 以及它包含的所有文件。

功能

变量类型固定

var 关键字并带一个初始值声明的变量,会保持该值的类型。好处是不必显式写出变量的类型。

例如,不开启严格模式时可以这样写:

但在严格模式下,同样的代码会报错: 无法将类型为 string 的值 "salut" 赋给类型为 integer 的变量 a。

因此,严格模式下的 var 关键字相当于 Java 的 var 或 C++ 的 auto

如果仍然希望赋一个与初始值类型不同的值,可以把变量的类型声明为 any

这段代码即使在严格模式下也能正常运行。

数组越界访问会报错

在严格模式下,越界访问数组会抛出异常,从而中止 AI,而不是返回 null

这个行为很实用:这样一来,访问 Array 数组得到的返回类型就是 X,而不是 X | null。它还能避免出现静默的行为,即把 null 值悄悄用在计算里。

返回更多与类型相关的警告

在严格模式下,会新增许多警告: