없을 수 있는 값과 실패 · 코딩 클래스
선택한 언어나 버전에는 이 주제가 없어 같은 영역의 시작 페이지를 표시합니다.
학습 장의 개념을 직접 사용합니다. 문제는 확인하기 → 프로그램 만들기 → 오류 해결하기 순서입니다. 먼저 구현한 뒤 힌트를 읽고 완료 기준으로 확인하세요. 각 문제는 별도 파일이나 작업 디렉터리에서 진행하세요.
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로 성공과 실패를 처리하도록 수정하세요.
의도적인 오류가 있는 시작 코드입니다.
use std.convert as convert;fn main() { let value = convert.parse_int("21")?; println(value);}xen check class_question.xen진단에 포함되는 내용:
current function return type must be Result<T,E>완료 기준: 입력 21은 21, hello는 invalid를 출력합니다. main의 반환 타입은 바꾸지 않습니다.
힌트: ?는 같은 오류 타입을 가진 Result 반환 함수에서만 실패를 전달합니다.
검증하고 기록하기
섹션 제목: “검증하고 기록하기”정상 프로그램은 xen check 파일.xen 후 xen run 파일.xen으로 확인하세요. 테스트 전용 파일은 xen test 파일.xen을 사용합니다. 수정 전 오류·원인·수정 후 결과를 짧게 기록하고, 완료 기준의 모든 입력을 다시 실행하세요.