如何运行OCaml + Core脚本?

Opa*_*Opa 4 ocaml

我正在尝试真实世界的OCaml书.它讨论了安装OPAM,然后是OCaml和Jane Street Core.我按照书中的说明正确加载utop,以便自动加载Core.

没有Core,我可以简单地运行一个通用的OCaml脚本而ocaml script.ml无需编译.但是如果脚本使用Core,这不起作用.如果我想在不编译的情况下运行基于Core的OCaml脚本,那么正确的命令是什么?

Ash*_*wal 5

运行依赖于其他库的脚本需要您告诉编译器在哪里可以找到库.您最好的选择是使用ocamlscript,您也可以使用OPAM安装.做吧opam install ocamlscript.然后在这里阅读ocamlscript .这是一个有效的例子:

$ cat a.ml
#! /usr/bin/env ocamlscript
Ocaml.ocamlflags := ["-thread"];
Ocaml.packs := [ "core" ]
--
open Core.Std

let () = print_endline "hello"
Run Code Online (Sandbox Code Playgroud)

确保a.ml已设置可执行位.然后运行它:

$ ./a.ml
hello
Run Code Online (Sandbox Code Playgroud)

作为奖励,ocamlscript还可以编译为本机代码,因此您可以获得高性能脚本.