Xen / learn v0.1.0-demo.2
언어 개요
선택한 언어나 버전에는 이 주제가 없어 같은 영역의 시작 페이지를 표시합니다.
Xen은 Linux용 정적 실행 파일을 생성합니다. 함수, 구조체, enum, 제네릭을 지원하며, 타입에 따라 값을 복사하거나 소유권을 이동합니다. 명시적 참조와 블록 최적화는 스코프 어노테이션으로 제어합니다.
값과 소유권
섹션 제목: “값과 소유권”let으로 값을 선언하고, 바뀔 변수에는 let mut을 씁니다. 정수와 불리언 같은 단순한 값은 복사되고, String과 복제 가능한 원소의 벡터는 독립적인 사본을 만듭니다. Box와 File은 소유권을 이동합니다. 모든 타입이 같은 방식으로 복사되는 것은 아닙니다.
fn main() { let greeting = "Hello, Xen!"; println(greeting);}스코프 어노테이션
섹션 제목: “스코프 어노테이션”- explc: 함수 앞의
#![explc]또는 블록의#scope[explc]로 명시적 참조를 허용합니다. 호출되는 함수의 설정이 호출자에 적용되지는 않습니다. - opt:
#scope[opt]로 최적화할 블록을 표시합니다.build,run,test의 기본 옵션은--opt=basic이며 표시하지 않은 코드는 영향을 받지 않습니다. - bb: 원시 메모리와 운영체제 호출을 위한 저수준 기능입니다. 이 릴리스의 사용자 문서에는 자세한 계약이 없어 여기서는 개요만 다룹니다. 일반 프로그램은 표준 라이브러리에서 시작하세요.
스코프 모드 레퍼런스에서 확인된 동작을 조회할 수 있습니다.
학습 순서
섹션 제목: “학습 순서”다른 언어에서 변수·함수·반복문을 써 본 독자를 위한 안내입니다. Xen 경험은 필요하지 않습니다.
언어 기초
섹션 제목: “언어 기초”소유권과 고급 주제
섹션 제목: “소유권과 고급 주제”- 제네릭과 타입 추론: 알려진 형태, 추론 실패, 제네릭 연산의 제약을 다룹니다.
- 복사·이동·참조: 독립 사본, 소유권 이동, 대여 규칙을 익힙니다.
- 스코프 모드: 호출자와 블록의
explc설정,opt표시와 CLI 옵션을 사용합니다. - 슬라이스와 이터레이터: 임시 뷰, 지연 변환, 이동 전용 원소의 소비를 비교합니다.
- Box와 재귀 자료구조: 재귀 값의 크기, 종료 조건, 리스트의 소유권을 따라갑니다.
프로그램 완성하기
섹션 제목: “프로그램 완성하기”- 값 없음과 오류, 여러 파일 사용하기를 익힙니다.
- 단어 수 세기를 만들고 테스트를 추가합니다.
언어 규칙과 API는 레퍼런스에서 조회하고, 전체 실행 파일과 예상 출력은 예제에서 확인할 수 있습니다.
이 문서는 v0.1.0-demo.2를 설명합니다. 문법과 API는 변경될 수 있습니다. Linux x86-64를 지원하며 AArch64는 실험적입니다. 지원 범위를 확인하세요.