我正在尝试真实世界的OCaml书。它讨论了安装OPAM,然后是OCaml和Jane Street Core。我根据书中的说明正确加载utop,以便自动加载Core。
如果没有Core,我可以简单地通过ocaml script.ml
运行通用的OCaml脚本而无需编译。但是如果脚本使用Core,这不起作用。如果我想在不编译的情况下运行基于Core的OCaml脚本,那么正确的命令是什么?
答案 0 :(得分:5)
运行依赖于其他库的脚本需要您告诉编译器在哪里找到库。您最好的选择是使用ocamlscript
,您也可以使用OPAM安装。只做opam install ocamlscript
。然后阅读ocamlscript here。这是一个有效的例子:
$ cat a.ml
#! /usr/bin/env ocamlscript
Ocaml.ocamlflags := ["-thread"];
Ocaml.packs := [ "core" ]
--
open Core.Std
let () = print_endline "hello"
确保a.ml
已设置可执行位。然后运行它:
$ ./a.ml
hello
作为奖励,ocamlscript
也会编译为本机代码,因此您可以获得高性能脚本。