콘텐츠로 이동
Xen / docs

문서 검색

한국어 · v0.1.0-demo.2

검색어를 입력하세요.

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

    문자열과 컬렉션 · 코딩 클래스

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

    1. 확인하기 · 문자열과 빈 항목 구분

    섹션 제목: “1. 확인하기 · 문자열과 빈 항목 구분”

    "한".len()과 ASCII 공백으로 " red green\tblue "를 나눈 벡터의 길이를 출력하세요.

    완료 기준: 두 결과 모두 3입니다. 첫 결과는 바이트 수, 둘째는 단어 수입니다.

    힌트: std.string.split_ascii_whitespace는 빈 단어를 만들지 않습니다.

    2. 프로그램 만들기 · 성적 요약 프로그램

    섹션 제목: “2. 프로그램 만들기 · 성적 요약 프로그램”

    Vec<Int>를 받는 함수로 [10, 20, 30]의 개수와 합계를 출력하세요. 같은 함수에 빈 벡터도 전달하세요. 이터레이터 없이 색인 범위를 반복하세요.

    완료 기준: 첫 호출은 개수 3·합계 60, 빈 입력은 개수 0·합계 0입니다.

    힌트: 0..values.len()을 순회하면 빈 입력도 처리할 수 있습니다.

    3. 오류 해결하기 · 빈 벡터 접근 오류 수정

    섹션 제목: “3. 오류 해결하기 · 빈 벡터 접근 오류 수정”

    아래 코드는 검사는 통과하지만 실행할 때 실패합니다. 벡터가 비어 있으면 empty, 아니면 첫 원소를 출력하도록 수정하세요.

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

    class_empty.xen
    fn main() {
    let values: Vec<Int> = [];
    println(values.get(0));
    }
    터미널 창
    xen run class_empty.xen

    진단에 포함되는 내용:

    class_empty.stderr
    vector index out of bounds

    완료 기준: []는 empty, [7]은 7을 출력하고 둘 다 정상 종료합니다.

    힌트: get()은 Option을 반환하지 않습니다. 호출 전에 길이를 검사하세요.

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