Ocaml在线运行

版本:
运行结果
教程手册
代码仓库
极速运行
交互输入
极速运行模式,更高效的运行,点击编辑器上方的运行按钮即刻体验吧。
以下是用户最新保存的代码
你们是垃圾看你 发布于:2020-11-19 20:15 [更多]
显示目录

输入与输出



输入与输出

从标准输入读取并打印到标准输出

我们准备了一个名为reverser.ml的文件,其中包含以下内容:

let acc = ref [] in
    try
        while true do
            acc := read_line () :: !acc;
        done
    with
        End_of_file -> print_string (String.concat "\n" !acc)

然后我们使用以下命令编译我们的程序:

$ ocamlc -o reverser.byte reverser.ml

我们通过将数据传输到新的可执行文件来测试它:

$ cat data.txt
one
two
three
$ ./reverser.byte < data.txt
three
two
one

reserver.ml程序以命令式样式编写。虽然命令式风格很好,但将它与功能翻译进行比较是很有趣的:

let maybe_read_line () =
  try Some(read_line())
  with End_of_file -> None

let rec loop acc =
  match maybe_read_line () with
  | Some(line) -> loop (line :: acc)
  | None -> List.iter print_endline acc

let () = loop []

由于引入了函数maybe_read_line ,控制流程在第二个版本中比在第一个版本中简单得多。

由JSRUN为你提供的Ocaml在线运行、在线编译工具
        JSRUN提供的Ocaml在线运行,Ocaml 在线运行工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。

title

使用此草稿 删除草稿

  • 00:23
注册登录后可减少验证码的弹出,点击前往 注册 | 登录

皮肤:

运行模式:

嵌入代码 iframe嵌入: