多行评论中的“错误:未公开评论”

时间:2015-07-31 08:24:44

标签: scala

将模板从Java转换为Scala时,我注意到以下带有多行注释的怪癖可以缩减为以下代码段:

/**
 * /*
 */

class Blah {}

上述代码无法使用“error:unclosed comment”进行编译,而在Java中有效。

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

这是一个错误还是一个功能?

1 个答案:

答案 0 :(得分:6)

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

  

多行评论是/**/之间的一系列字符。   多行注释可以嵌套,但必须正确   嵌套。 因此,/* /* */之类的评论将被拒绝   没有终止的评论。

(emph.mine)

幸运的是,在您需要它的情况下(比如问题中的glob示例)by escaping the / or * literal可以相对容易地解决这个问题,例如:

/**
 * /*
 */

在生成的Scaladoc中正确显示。