如何制作互动节目?

How to make an interactive program?

我正在学习 Ocaml,我需要创建一个可以通过以下方式与用户交互的程序:

Program: "Welcome!"
User: command1 arg1 arg2
program: "The answer is..."
User: command2 arg
program: "The answer is..."
User: exit

我需要一个循环方案来制作类似的东西

这是一个循环,它会读取输入行,直到它到达文件末尾,或者看到显示 "exit".

的行
let rec loop () =
    match read_line () with
    | "exit" -> ()
    | s -> Printf.printf "I saw %s\n%!" s; loop ()
    | exception End_of_file -> ()

要在源文件中调用这个循环,可以这样操作:

let () = loop ()

要在顶级 (OCaml REPL) 中试用:

# loop ();;