ocaml hello world make not not working

时间:2013-09-21 21:20:32

标签: ubuntu ocaml

所以我刚刚在我的ubuntu(12.04)上安装了ocaml。默认情况下,它安装3.12.1。我在hello.ml

中写了下面的hello word程序
print_string "Hello alok\n";;

但是当我尝试编译并运行hello.ml时,它只是不打印任何东西。我正在运行这些命令来编译hello.ml

ocamlc -o hello hello.ml
./hello

我正在启动我的终端,转到hello.ml所在的目录,从ocaml开始并给出上述命令,但它什么也没做。

如果我通过在ocaml窗口本身上编写hello world来手动尝试打印print_string "Hello alok\n";;,那么它可以正常工作。

请帮我解决这个问题!

2 个答案:

答案 0 :(得分:2)

以下是它在OS X上的工作原理:

$ cat alok.ml
print_string "Hello alok\n"

(所以,我有一个名为alok.ml的文件,其中包含您的程序文本。)

$ ocamlc -o alok alok.ml
$ ./alok
Hello alok

这只是表明它可以按预期在OS X上运行,因此它也适用于Ubuntu。你给出的命令看起来有点乱,但可能只是格式化。您对所尝试内容的描述也有点令人困惑 - 您当然不希望从内部 OCaml顶层进行编译。

我希望这会有所帮助。如果没有,也许你可以在ubuntu上显示一个实际的会话。即,准确显示您键入的内容以及输出的内容。

答案 1 :(得分:0)

print_string不会自动刷新标准输出的内容,因此您需要自己刷新它。

在您的示例中,您可以将其替换为:

print_string "Hello alok\n";;
flush stdout;;

或者,您也可以使用print_endline

print_endline "Hello alok";;

print_newline函数:

print_string "Hello alok";;
print_newline ();;