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

mik*_*łak 3 scala

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

/**
 * /*
 */

class Blah {}
Run Code Online (Sandbox Code Playgroud)

上述代码无法使用"error:unclosed comment"编译,而在Java中有效.

这证明是有问题的,因为它使得更难以记录例如接受全球型字符串(例如"需要类似路径something/*.myformat").

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

mik*_*łak 6

事实上,这是一个特色.引用Scala语言规范的1.4节:

多行注释是/*和之间的一系列字符*/.多行注释可以嵌套,但需要正确嵌套.因此,类似的评论/* /* */将被拒绝为具有未终止的评论.

(我的)

幸运的是,在你需要它的情况下(比如问题中的glob示例)通过转义/*文字来解决这个问题相对容易,例如:

/**
 * /*
 */
Run Code Online (Sandbox Code Playgroud)

它在生成的Scaladoc中正确显示.