【发布时间】:2014-07-05 20:07:45
【问题描述】:
我从一开始就关注 John Whitington 的书OCaml。在第 91-92 页中,他讨论了如何从 OCaml 打印和读取值。他声称代码
let rec read_dict()=
let i=read_int () in
if i=0 then
[]
else
let name=read_line in
(i, name):: read_dict ();;
read_dict();;
应该让我获取一些输入整数值和字符串值,然后返回给我一个包含对的列表。但是我不能在我的电脑上执行代码,也不能在 Try Ocaml 网站上成功执行。请问有什么问题吗?
我在 Windows IDE 中的 OCaml 顶层、Ubuntu 上的 utop 以及网站中的 Try OCaml 中进行了尝试。在第一个实例中,程序继续运行,什么也没有出现。在第二个中,它需要值但永远不会结束。在第三种情况下,它接受值,但是当我给一个字符串值时给我一条错误消息,如 One.
【问题讨论】:
-
当你说它取值但永远不会结束时,你是否尝试将
0作为整数?这看起来像是应该结束输入。 -
让我尝试在 Utop 中再次实现它。但是在 Try Ocaml 网站中,它确实以 0 结尾,但它不能采用任何字符串值。
标签: ocaml