Covariant Script 语句
5.1 定义
5.2 表达式
5.3 选择语句
if 语句
if 逻辑表达式 语句块 end
逻辑表达式
的值为真则执行语句块
if 逻辑表达式 语句块1 else 语句块2 end
若逻辑表达式
的值为真,执行语句块1
,否则执行语句块2
switch 语句
switch 表达式 case 常量标签 语句块 end default 语句块 end end
执行与表达式 等值的 常量标签中对应的case
中语句块后跳出
当无匹配的常量标签时会执行default
中的语句块,如default
未找到则会直接跳出,不执行任何语句
注意:常量标签的类型必须支持生成哈希值
5.4 循环语句
while 循环
while 逻辑表达式
语句块
end
当逻辑表达式
的值为真时循环执行语句块
loop 循环
loop 语句块 until 逻辑表达式
循环执行语句块
直到逻辑表达式
的值为真时跳出
loop
语句块
end
循环执行语句块
直到用户以某种方法手动跳出
for 循环
for 变量名 = 表达式, 逻辑表达式, 后处理表达式 语句块 end
定义一个变量,当逻辑表达式
为真时循环执行语句块
,在每个循环的最后执行后处理表达式
for 变量名 = 表达式, 逻辑表达式, 后处理表达式 do 表达式
定义一个变量,当逻辑表达式
为真时循环执行表达式
,在每个循环的最后执行后处理表达式
foreach 循环
foreach 变量名 in 表达式 语句块 end
表达式的值必须是一个支持foreach
遍历的容器
定义一个变量正序遍历容器,循环执行语句块
foreach 变量名 in 表达式1 do 表达式2
表达式1的值必须是一个支持foreach
遍历的容器
定义一个变量正序遍历容器,循环执行表达式2
注意:请勿在foreach中修改被遍历的容器,否则将导致未定义行为
5.5 跳转语句
break 关键字
loop 语句块 if 表达式 语句块 break end 语句块 end
跳出当前循环
continue 关键字
loop 语句块 if 表达式 语句块 continue end 语句块 end
跳过循环体内剩下代码,直接继续该循环的下一轮
return 关键字
function fun() 代码块 return end
结束函数并不返回值(返回 null
)
function fun() return 表达式 end
结束函数并返回表达式
的值
5.6 异常处理
throw 异常
throw 异常对象
从当前域抛出一个异常
try 语句块 catch 异常名 语句块 end
尝试执行 try
块中的代码,如抛出异常则捕获之