declare
declare结构用来设定一段代码的执行指令。declare的语法和其他流程控制结构相似:
declare (directive)
statement
directive部分允许设定declare代码段的行为。
目前只认识三个指令:
ticks
encoding
strict_types
因为该指令是在文件编译时处理的,所以指令只接受字面量的值,无法使用变量和常量,如下:
// 有效
declare(ticks=1);
// 无效
const TICK_VALUE = 1;
declare(ticks=TICK_VALUE);
declare结构也可以用于全局范围,影响到其后的所有代码(但如果有 declare 结构的文件被其它文件包含,则对包含它的父文件不起作用)。
// 两者相等:
// 可以这样用:
declare(ticks=1) {
// 这里写完整的脚本
}
// 也可以这样用:
declare(ticks=1);
// 这里写完整的脚本
Tick(时钟周期)是一个在 declare 代码段中解释器每执行 N 条可计时的低级语句就会发生的事件。N 的值是在 declare 中的 directive 部分用 ticks=N 来指定的。
不是所有语句都可计时。通常条件表达式和参数表达式都不可计时。
在每个 tick 中出现的事件是由 register_tick_function() 来指定的。注意每个 tick 中可以出现多个事件。
declare(ticks=1);
function tick_han