콘텐츠로 이동
Xen / docs

문서 검색

한국어 · v0.1.0-demo.2

검색어를 입력하세요.

    EN
    Xen / coding-class v0.1.0-demo.2

    Box와 재귀 자료구조 · 코딩 클래스

    학습 장의 개념을 직접 사용합니다. 문제는 확인하기 → 프로그램 만들기 → 오류 해결하기 순서입니다. 먼저 구현한 뒤 힌트를 읽고 완료 기준으로 확인하세요. 각 문제는 별도 파일이나 작업 디렉터리에서 진행하세요.

    학습 장의 prepend로 5, 10, 20을 순서대로 연결해 합계 35를 만드세요. 빈 리스트의 합계도 실행하세요.

    완료 기준: 합계는 35와 0입니다. 각 노드의 next와 마지막 None을 그림이나 메모로 표시합니다.

    힌트: 20을 먼저 만들고 10, 5를 앞에 붙입니다.

    2. 프로그램 만들기 · 노드를 소비하는 개수 함수

    섹션 제목: “2. 프로그램 만들기 · 노드를 소비하는 개수 함수”

    sum과 같은 소유권 전달 방식으로 리스트 길이를 세는 length를 작성하세요. 빈 리스트와 세 노드 리스트를 각각 새로 만들어 전달하세요.

    완료 기준: 결과는 0과 3입니다. sum에 넘긴 리스트를 length에 다시 넘기지 않습니다.

    힌트: Some이면 1에 다음 노드의 개수를 더하고 None이면 0입니다.

    3. 오류 해결하기 · 이동한 소유자 재사용 수정

    섹션 제목: “3. 오류 해결하기 · 이동한 소유자 재사용 수정”

    아래 코드는 상자 이름을 바꾼 뒤 이전 이름으로 소비합니다. 새 Box를 복제하지 않고 올바른 소유자를 사용하도록 수정하세요.

    의도적인 오류가 있는 시작 코드입니다.

    class_move.xen
    fn main() {
    let original = box(42);
    let transferred = original;
    println(original.into_inner());
    }
    터미널 창
    xen check class_move.xen

    진단에 포함되는 내용:

    class_move.stderr
    value moved here

    완료 기준: 42가 한 번 출력됩니다. 소유권이 이동한 대입 위치를 설명합니다.

    힌트: 새 소유자는 transferred입니다. into_inner도 상자를 소비합니다.

    정상 프로그램은 xen check 파일.xen 후 xen run 파일.xen으로 확인하세요. 테스트 전용 파일은 xen test 파일.xen을 사용합니다. 수정 전 오류·원인·수정 후 결과를 짧게 기록하고, 완료 기준의 모든 입력을 다시 실행하세요.