中断
Translation status: 简体中文 reader-locale proof. Term names and code fences follow the zh-Hans pack; supporting prose may still be English.
Breaks out of the innermost loop.
Aliases: break
Syntax: 中断
Category#
transfer
Related#
Examples#
radix/corpus/rumpe/rumpe.fab (canonical · keyword)#
Breaks out of the innermost loop.
# =============================================================================
# 中断 — Breaks out of the innermost loop.
# =============================================================================
#
# What this teaches:
# • Loop control flow — `中断` exits the innermost `当` or `遍历` loop
# immediately
# • In nested loops, only the innermost loop is broken; outer loops continue
# executing
#
# Common mistakes:
# • Using `中断` outside a breakable block — `当`, `遍历`, `执行`, `发送`, or `接收` (SEM030).
#
# See also: 继续, 当
# =============================================================================
# Break (中断) in loops
#
# 中断 -- exit innermost 当/itera immediately
#
# GRAMMAR:
# breakStmt :← '中断'
#
# EXPECTED OUTPUT:
# 0–4 (stops before 5), then nested pairs until interior hits 2.
main {
# Break when reaching 5
var int i ← 0
while i ≺ 10 {
if i ≡ 5 {
break
}
print i
i ← i + 1
}
# Break in nested loop
var int exterior ← 0
while exterior ≺ 3 {
var int interior ← 0
while interior ≺ 10 {
if interior ≡ 2 {
break
}
print "exterior←§, interior←§"(exterior, interior)
interior ← interior + 1
}
exterior ← exterior + 1
}
}Expected output:
0
1
2
3
4
exterior←0, interior←0
exterior←0, interior←1
exterior←1, interior←0
exterior←1, interior←1
exterior←2, interior←0
exterior←2, interior←1