declaration
선언
둘러보기로 가기
검색하러 가기
선언은 원자적 표현식과 유사하나 다음과 같은 특징을 가지고 있다.
- 항상 예약어로 시작한다.
- 어느 연산자보다도 우선순위가 낮기 때문에, 다음 세 가지 경우를 제외하면 그 뒤에 다른 표현식이 올 수 없다.
- 일반적으로 바인딩을 통해 선언 이름이 부여되며, 그 이름은 평가된 값에 할당된다.
이름이 부여된다는 데서 짐작할 수 있듯, 대부분의 선언은 최상위 바인딩으로서 유닛을 이루는 기본 요소가 된다.
-- 아래 줄 전체가 바인딩 foo := fn { ... } -- ^^^^^^^^^^ [[함수 선언]] (`fn`이 예약어이다) v := (fn { ... })() -- ^^^^^^^^^^ (익명) 함수 선언
목록
이름 | 문법 예제 | 용도 |
---|---|---|
함수 선언 | fn(x: int) -> int { x + 42 }
|
호출 가능한 코드 블록을 선언 |
타입 별명 선언 | type (lat: rat, long: rat)
|
기존 타입과 똑같이 취급되는 별명을 선언 |
새 타입 선언 | new type (lat: rat, long: rat)
|
기존 타입과 다르게 취급되는 새 타입을 선언 |
열거형 선언 | enum { ok; err(ErrorCode) }
|
주어진 경우 중 하나만을 담을 수 있는 타입을 선언 |
for 선언 | for[T] fn(x: T) { x }
|
주어진 타입 인자에 대해 일반화된 선언을 만듦 |
use 선언 | use naru core (int)
|
패키지로부터 값을 가져 옴 |