การเรนเดอร์th-TH

หยุด

Translation status: ภาษาไทย reader-locale proof. Term names and code fences follow the th-TH pack; supporting prose may still be English.

Breaks out of the innermost loop.

Aliases: break

Syntax: หยุด

Category#

transfer

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