提取
提取器由 extractorExpression => match
表示式識別。提取器由兩部分組成,由 =>
運算子分隔。
- 左側可以是任何表示式,其中所有出現的下劃線
_
都替換為當前匹配的值。 - 右側是與左側評價結果相匹配的圖案。
由於右側是圖案,因此它可以包含另一個提取器。以下示例鏈兩個提取器:
static public function main() {
switch(3) {
case add(_, 1) => mul(_, 3) => a:
trace(a); // mul(add(3 + 1), 3)
}
}
static function add(i1:Int, i2:Int) {
return i1 + i2;
}
static function mul(i1:Int, i2:Int) {
return i1 * i2;
}
目前不可能在 or-patterns 中使用提取器。但是,可以在提取器的右側具有或圖案。