控制流
Alia 语言提供了多种控制流结构,用于控制代码的执行流程。
1. 条件语句
if 语句
alias if <Boolean condition> <Stack thenStack>
alias if <Boolean condition> <Stack thenStack> else <Stack elseStack>
示例
const age = 18
if age >= 18 {
print '成年人'
} else {
print '未成年人'
}
const score = 85
if score >= 90 {
print '优秀'
} else {
if score >= 80 {
print '良好'
} else {
if score >= 60 {
print '及格'
} else {
print '不及格'
}
}
}
switch 语句
switch 根据一个值匹配多个分支,case/multicase 子句按声明顺序匹配,首个匹配的子句执行其体,后续子句跳过;default 在所有子句均未匹配时执行。switch 表达式的值为首个匹配子句的返回值;若无任何子句匹配且无 default,则为 switch 体最后一条语句的值。
alias switch <Value switchVal> <Stack switchBody>
alias case <Value caseVal> <Stack caseBody>
alias multicase <Array caseVals> <Stack caseBody>
alias default <Stack defaultBody>
基本 case
const fruit = 'apple'
switch fruit {
case 'apple' {
print '苹果'
}
case 'banana' {
print '香蕉'
}
}
作为表达式的 switch
switch 会返回首个匹配子句的值,可直接 作为表达式使用:
const score = 2
const level = switch score {
case 1 { 'low' }
case 2 { 'medium' }
case 3 { 'high' }
default { 'unknown' }
}
print level
multicase 复合条件
multicase 接受一个值数组,任一值相等即命中,用于将多个值归入同一分支:
const day = 6
switch day {
multicase [1, 2, 3, 4, 5] {
print '工作日'
}
multicase [6, 7] {
print '周末'
}
}