9

私はのようなものを探していますinput_char stdinが、リターンキーを待たずに。ラムダタームのような大きな依存関係には依存しません。

4

1 に答える 1

11

フルラインでの入力の処理は簡単です。一度に1文字ずつ処理することは、システムに少し依存します。UnixUnixライクなシステムを使用している場合は、次のモジュールを使用してこれを実行できるはずです。

let get1char () =
    let termio = Unix.tcgetattr Unix.stdin in
    let () =
        Unix.tcsetattr Unix.stdin Unix.TCSADRAIN
            { termio with Unix.c_icanon = false } in
    let res = input_char stdin in
    Unix.tcsetattr Unix.stdin Unix.TCSADRAIN termio;
    res
于 2012-11-16T04:32:21.340 に答える