콘텐츠로 이동
Xen / docs

문서 검색

한국어 · v0.1.0-demo.2

검색어를 입력하세요.

    EN
    Xen / reference v0.1.0-demo.2

    std.io

    이 릴리스에 문서화된 API를 정리합니다.

    use std.io;
    API반환값
    std.io.read_stdin()Result<String, IoError>; 입력 끝까지 읽기
    std.io.write_stdout(text: String), std.io.write_stderr(text: String)Result<Int, IoError>; 쓴 바이트 수
    std.io.describe_error(error: IoError)오류를 설명하는 문자열

    read_stdin은 입력 끝까지 기다리고 전체 입력을 메모리에 담습니다. 쓰는 함수는 쓴 바이트 수를 반환합니다. 파일 대신 파이프로 읽는 전체 예제입니다.

    use std.io as io;
    use std.string as text;
    fn main() {
    let contents = match io.read_stdin() {
    Result.Ok(value) => value,
    Result.Err(error) => { panic(io.describe_error(error)); },
    };
    let words = text.split_ascii_whitespace(contents);
    for index in 0..words.len() {
    println(words.get(index));
    }
    }
    터미널 창
    $ printf 'one two\nthree\n' | xen run stdin_words.xen
    one
    two
    three

    IoError의 형태는 InvalidPath, Open(Int), Read(Int), Write(Int), WriteZero, Close(Int), Metadata(Int), Directory(Int), Cwd(Int), InvalidDirectoryEntry입니다. 사용자에게 보여 줄 메시지는 describe_error로 만드세요.