小编aki*_*330的帖子

OCaml:安装后无法运行utop

我正试图通过Real World OCaml书来学习OCaml.他们有一个指南,我应该安装Core包和utop.然而,虽然我似乎使用Opam成功安装了这两个,但当我尝试使用它们时它们都不起作用.

我知道它们已经安装,因为当我再次尝试安装它们时,我收到了以下消息:

$ opam install utop core
[NOTE] Package utop is already installed (current version is 1.10).
[NOTE] Package core is already installed (current version is 109.55.02).
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试输入"utop"来启动utop时,它不起作用.

$ utop
bash: utop: command not found
Run Code Online (Sandbox Code Playgroud)

当我尝试打开核心时:

$ open Core.Std
Couldn't get a file descriptor referring to the console
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?我是编程的新手,所以可能有一些关于安装的东西,我只是不理解.

installation ocaml opam utop

9
推荐指数
2
解决办法
7480
查看次数

OCaml:如何运行包含库的脚本

我正在遵循 Real World OCaml 书来学习 OCaml,并且许多程序需要使用 Jane Street Core 库。当我在顶层使用这个核心库中的函数时,它工作得很好。在那里,我只使用以下命令打开 Core 库。

$ #use "topfind";;
#thread;;
#camlp4o;;
#require "core.top";;
#require "core.syntax";;
open Core.Std;;
Run Code Online (Sandbox Code Playgroud)

然后我可以在顶层逐行运行这个程序,像 String.split 这样的函数工作正常。

# let languages = "OCaml,Perl,C++,C";;
val languages : string = "OCaml,Perl,C++,C"
# let dashed_languages =
let language_list = String.split languages ~on:',' in
String.concat ~sep:"-" language_list
;;
val dashed_languages : string = "OCaml-Perl-C++-C"
Run Code Online (Sandbox Code Playgroud)

但是如果我把它全部放在一个脚本中,我如何让编译器识别核心库?因此,如果我在脚本中运行相同的程序:

open Core.Std;;
open Str;;

let languages = "OCaml,Perl,C++,C";;
let dashed_languages =
    let language_list = String.split languages ~on:',' in
    String.concat ~sep:"-" language_list …
Run Code Online (Sandbox Code Playgroud)

ocaml

5
推荐指数
1
解决办法
954
查看次数

标签 统计

ocaml ×2

installation ×1

opam ×1

utop ×1