【问题标题】:How do you inspect the type of (*) on OCaml's toplevel?您如何检查 OCaml 顶层 (*) 的类型?
【发布时间】:2011-07-05 07:37:50
【问题描述】:

我想查看乘法函数 (*) 的类型,所以我将它挖掘到 OCaml 顶层。

# (*)

然而,顶层回应:

(*);; 1: this is the start of a comment.

然后使用我输入的任何进一步的输入。我认为我必须通过按Ctrl+d 来发送 EOF 来退出评论模式。伟大的。但可以肯定的是,我应该可以查询任何函数的类型,包括我们神秘的乘法函数(*)?!

如果这是顶级的限制,我会非常失望。

【问题讨论】:

    标签: comments ocaml


    【解决方案1】:

    它确实将*) 识别为评论的结尾,但它仍在等待表达式的结尾。 IE。如果你输入两个分号,它会给你一个语法错误,并允许你输入另一个表达式。

    要获取函数*,请键入( * );;,并用空格将其与注释符号区分开来。

    【讨论】:

    • 啊,没想到...来自 Haskell 背景。不过谢谢!
    • @Fatu Hoku - 这并不奇怪,这只是解析器的一个不足之处。它看到(* 并假设有评论。如果您熟悉 C++,这与嵌套模板几乎相同,其中 >> 被解析为运算符(因此您必须编写 > >)。
    • Niki - 它与 > 是否应该被解释为运算符(嵌套模板是类型-级表达式,但运算符是值级的),无法区分注释的开头后跟括号()和乘法函数的程序员括号()。这是语言规范的一个缺点
    • 哎呀。当然,在上面的消息中,()应该是(*)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多