Chiba Logo CHIBA v0.6.13
CHIBA blog RSS feed
CHIBA / DOCS / LEVEL-1 SPEC

Constructor Pattern

这里集中展示 CHIBA level-1 specification,覆盖 core language、control flow、memory、patterns、IR lowering 与 package system 等实现边界。

The docs surface keeps CHIBA level-1 specification pages browsable inside the site, with direct paths into language, control flow, memory, pattern, and lowering rules.

Constructor Pattern

语法

constructor pattern 使用 ADT 构造子在 pattern 位置解构值。

语义

它要求被匹配值来自对应构造子,并把内部字段分配给子 pattern。

当不同 data 存在同名 constructor 时,level-1 通过按类型限定路径解决冲突。

默认允许裸 Ctor(...) / Ctor 写法;只有在冲突或语义不清时,才要求写成 Type.Ctor(...)

Usage

match value {
	Some(x) => use(x)
	None => fallback()
}

match value2 {
	Option.Some(x) => use2(x)
	Option.None => fallback2()
}

注释:无冲突时允许裸 constructor;有冲突或需要消歧时,使用 Type.Ctor 形式。

边界

constructor pattern 是 refutable pattern;let 位置不接纳这类 pattern。