Localized V2 rewrite for this language is in progress. Showing English-first content for now.

IO

コンソールと filesystem の IO(`IO` エフェクトで追跡)。

IO

IO エフェクトは外界との相互作用を表します。コンソール出力、入力の読み取り、ファイルアクセスなどです。

コンソール出力

fn main() with IO {
    print("Hello, ")
    println("Sounio!")
}

入力を読む

read_line()string を返します:

fn main() with IO {
    println("Enter your name:")
    let name = read_line()
    print("Hi, ")
    println(name)
}

エフェクトの適用

関数が IO を要求する場合、呼び出し側も with IO を宣言する必要があります(または伝播/処理する)。

これは失敗します:

fn read_file(path: string) -> string with IO {
    ""
}

fn main() {
    let _ = read_file("test.txt")  // ERROR: IO not declared
}

修正は次の通りです:

fn read_file(path: string) -> string with IO {
    ""
}

fn main() with IO {
    let _ = read_file("test.txt")
}

次へ