docs: disambiguate match scrutinees
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Ferro 언어 명세 v0.1.3
|
||||
# Ferro 언어 명세 v0.1.4
|
||||
|
||||
DOS용 시스템 프로그래밍 언어. C만큼 빠르고, 메모리 안전성을 함수 단위 지역 검사만으로 보장한다.
|
||||
파일 확장자 `.fe`, 컴파일러 이름 `fec`, 심볼 파일 `.fei`.
|
||||
@@ -450,6 +450,9 @@ pub fn main() -> !void {
|
||||
- 이 루프 형태들은 경계 검사를 생략한다(컴파일러가 안전을 보장).
|
||||
- `while`은 `bool` 조건만.
|
||||
- `match`는 **완전성 검사**. 모든 배리언트를 다루거나 `_` 필요.
|
||||
- `match expr { ... }`에서 scrutinee 바로 뒤의 `{`는 항상 arm 블록을 시작한다.
|
||||
따라서 구조체 초기화식을 scrutinee로 직접 쓸 때는 `match (Point{ x: 1, y: 2 }) { ... }`처럼
|
||||
괄호로 감싸 구조체 초기화의 `{`를 명시한다.
|
||||
- `break`/`continue`는 가장 안쪽 루프에만 적용(레이블 없음).
|
||||
- `defer block`은 스코프 종료 시 역순 실행. 소멸자와 함께 선언 역순으로 병합 실행. `return`/`break`/에러 전파 경로에서도 실행.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user