Covariant Script 语句

单独由表达式可以组成一条语句



if 逻辑表达式
  语句块
end

逻辑表达式的值为真则执行语句块


if 逻辑表达式
  语句块1
else
  语句块2
end

逻辑表达式的值为真,执行语句块1,否则执行语句块2


switch 表达式
  case 常量标签
    语句块
  end
  default
    语句块
  end
end

执行与表达式 等值的 常量标签中对应的case中语句块后跳出

当无匹配的常量标签时会执行default中的语句块,如default未找到则会直接跳出,不执行任何语句

注意:常量标签的类型必须支持生成哈希值



while 逻辑表达式
  语句块
end

逻辑表达式的值为真时循环执行语句块


loop
  语句块
until 逻辑表达式

循环执行语句块直到逻辑表达式的值为真时跳出


loop
  语句块
end

循环执行语句块直到用户以某种方法手动跳出


for 变量名 = 表达式, 逻辑表达式, 后处理表达式
  语句块
end

定义一个变量,当逻辑表达式为真时循环执行语句块,在每个循环的最后执行后处理表达式


for 变量名 = 表达式, 逻辑表达式, 后处理表达式 do 表达式

定义一个变量,当逻辑表达式为真时循环执行表达式,在每个循环的最后执行后处理表达式


foreach 变量名 in 表达式
  语句块
end

表达式的值必须是一个支持foreach遍历的容器

定义一个变量正序遍历容器,循环执行语句块


foreach 变量名 in 表达式1 do 表达式2

表达式1的值必须是一个支持foreach遍历的容器

定义一个变量正序遍历容器,循环执行表达式2

注意:请勿在foreach中修改被遍历的容器,否则将导致未定义行为



loop
  语句块
  if 表达式
      语句块
      break
  end
  语句块
end

跳出当前循环


loop
  语句块
  if 表达式
      语句块
      continue
  end
  语句块
end

跳过循环体内剩下代码,直接继续该循环的下一轮


function fun()
    代码块
    return
end

结束函数并不返回值(返回 null


function fun()
    return 表达式
end

结束函数并返回表达式



throw 异常对象

从当前域抛出一个异常


try
  语句块
catch 异常名
  语句块
end

尝试执行 try 块中的代码,如抛出异常则捕获之