【问题标题】:"error: unclosed comment" in multiline comments多行注释中的“错误:未关闭的注释”
【发布时间】:2015-10-22 20:33:37
【问题描述】:

在将模板从 Java 转换为 Scala 时,我注意到多行 cmets 的以下怪癖可以简化为以下 sn-p:

/**
 * /*
 */

class Blah {}

上面的代码编译失败,出现“错误:未关闭的注释”,但在 Java 中有效。

这被证明是有问题的,因为它使记录变得更加困难,例如接受 glob 类型的字符串(例如“需要像 something/*.myformat 这样的路径”)。

这是错误还是功能?

【问题讨论】:

    标签: scala


    【解决方案1】:

    事实上,它是一个功能。引用Section 1.4 of the Scala Language Specification

    多行注释是/**/ 之间的字符序列。 多行 cmets 可以嵌套,但需要正确 嵌套。 因此,像/* /* */ 这样的评论将被拒绝为有 未终止的评论。

    (emph。我的)

    幸运的是,在您需要它的情况下,它相对容易解决(例如问题中的 glob 示例)by escaping the / or * literal,获得类似:

    /**
     * /*
     */
    

    在生成的 Scaladoc 中正确显示。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-05
      • 1970-01-01
      • 2014-01-15
      • 1970-01-01
      相关资源
      最近更新 更多