Kết xuấtvi

byte

Translation status: Tiếng Việt reader-locale proof. Term names and code fences follow the vi pack; supporting prose may still be English.

Primitive byte-buffer type.

Aliases: bytes

Syntax: byte

Category#

type

Examples#

radix/corpus/octeti/octeti.fab (canonical · keyword)#

Primitive byte-buffer type.

# =============================================================================
# byte — Primitive byte-buffer type.
# =============================================================================
#
# What this teaches:
#   • Primitive buffer type — `byte` is the built-in byte buffer, analogous to `Vec<u8>` in Rust.
#   • Literal syntax — Byte buffers can be written with hex literals like `|ra gọi be ef|`.
#
# Common mistakes:
#   • Writing byte hex literals with an odd digit count — each byte requires two hex digits.
#
# See also: văn_bản, danh_sách
# =============================================================================

# byte — byte-buffer type alias
#
# kiểu_tên Fascis = byte
#
# GRAMMAR:
#   typeAliasDecl :← 'kiểu_tên' ident '=' typeExpr
#
# EXPECTED OUTPUT:
#   octeti.expected — type-known diagnostic.

type Fascis = bytes

main {
    const bytes sig ← |ra gọi be ef|
    const bytes hello ← |48 65 6c 6c 6f|
    const bytes empty ← ||
    print "octeti typus notus"
}

Expected output:

octeti typus notus

radix/corpus/bounded/conversio-octeti-to-octeti-decline.fab (supporting · reject)#

Decline: bounded byte<N> cannot resize directly to bounded byte<M>.

# =============================================================================
# bounded byte resize — unsupported chuyển decline
# =============================================================================
#
# What this teaches:
#   • Bounded byte capacities are not interchangeable through an implicit
#     resize route.
#   • The unsupported route fails closed with `SEM016:unsupported_conversio`.
#
# Common mistakes:
#   • expecting a bounded byte chuyển to truncate or pad silently.

fn resize(bytes<8> raw) → bytes<4> {
    return raw ↦ bytes<4>
}

Expected: compilation rejects this example.

radix/corpus/bounded/conversio-octeti-to-textus-decline.fab (supporting · reject)#

Decline: bounded byte<N> cannot convert directly to unbounded văn_bản.

# =============================================================================
# bounded byte to văn_bản — unsupported chuyển decline
# =============================================================================
#
# What this teaches:
#   • A bounded byte carrier does not silently become văn_bản through `↦`.
#   • The unsupported route fails closed with `SEM016:unsupported_conversio`.
#
# Common mistakes:
#   • assuming byte decoding is the same as a bounded-width sao_chép — decoding
#     needs an explicit byte/textus library route, not this chuyển.

fn widen(bytes<8> raw) → string {
    return raw ↦ string
}

Expected: compilation rejects this example.