콘텐츠로 이동
Xen / docs

문서 검색

한국어 · v0.1.0-demo.2

검색어를 입력하세요.

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

    없을 수 있는 값과 실패 · 코딩 클래스

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

    1. 확인하기 · 값 없음 처리하기

    섹션 제목: “1. 확인하기 · 값 없음 처리하기”

    Option<Int>를 받아 Some이면 숫자를 문자열로, None이면 missing을 반환하는 함수를 작성하세요.

    완료 기준: Some(0)은 0, Some(42)는 42, 타입을 적은 None은 missing입니다.

    힌트: 0은 값이 있는 상태입니다. None과 구분하세요.

    2. 프로그램 만들기 · 입력 숫자 변환기

    섹션 제목: “2. 프로그램 만들기 · 입력 숫자 변환기”

    학습 장의 double_number를 이용해 [“21”, “hello”, “-2”]를 순서대로 처리하세요. 잘못된 입력에서는 invalid를 출력하고 다음 항목을 계속 처리하세요.

    완료 기준: 출력은 42, invalid, -4이고 정상 종료합니다.

    힌트: 각 항목에서 Result를 match로 처리합니다. main에서 panic으로 끝내지 마세요.

    3. 오류 해결하기 · main에서 ? 사용 수정

    섹션 제목: “3. 오류 해결하기 · main에서 ? 사용 수정”

    아래 main은 Result를 반환하지 않습니다. main 안에서 match로 성공과 실패를 처리하도록 수정하세요.

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

    class_question.xen
    use std.convert as convert;
    fn main() {
    let value = convert.parse_int("21")?;
    println(value);
    }
    터미널 창
    xen check class_question.xen

    진단에 포함되는 내용:

    class_question.stderr
    current function return type must be Result<T,E>

    완료 기준: 입력 21은 21, hello는 invalid를 출력합니다. main의 반환 타입은 바꾸지 않습니다.

    힌트: ?는 같은 오류 타입을 가진 Result 반환 함수에서만 실패를 전달합니다.

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