input - 如何制作互动节目?

标签 input functional-programming ocaml interactive

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

Program: "Welcome!"
User: command1 arg1 arg2
program: "The answer is..."
User: command2 arg
program: "The answer is..."
User: 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 ();;

关于input - 如何制作互动节目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43267452/

相关文章:

scala - 用于 Ocaml 和其他语言的基于 Actor 的分布式并发库

c - 尝试让进程在没有 SDL(感知到的)崩溃的情况下运行 C

c++ - SDL 2 无法打开 Controller ,但可以识别操纵杆

javascript - Angular:如何从单选按钮组获取数据并将其作为参数传递给方法?

list - Erlang:是否可以将最小函数编写为列表折叠?

c++ - 为整个结构 vector 分配一个结构元素?

haskell - 这个质数函数实际上是如何工作的?

css - 焦点时如何更改 md-input-container 占位符的颜色?

binding - 在 Ocaml 或 F# 的模式匹配中使用变量

module - Ocaml 仿函数、模块和子模块