如何在 kotlin 注释中写入“/*”?

问题描述 投票:0回答:4

如何在span代码的kotlin注释中写入

/*

例如:

/**
 * Defines the route `/route/*`
 */
fun defineRoute() { 
    /* ... */ 
}

现在,根据 Kotlin 的说法,

/route/*
嵌套注释的开始(因此整个文件都被注释了)。我现在正在使用
/route/{*}
,但这不是一个不错的解决方案。

kotlin nested comments
4个回答
1
投票

您也可以关闭嵌套评论:

/**
 * Defines the route `/route/*`
 */*/
fun defineRoute() { 
    /* ... */ 
}

这样做的好处是,一旦他们修复了 Kotlin 解析器,就会被破坏,并提醒删除它们。


0
投票

您可以使用 HTML 转义,因此在您的示例中:

/**
 * Defines the route /route/*
 */
fun defineRoute() { 
    /* ... */ 
}

应该达到预期的结果,因为

/
作为“/”转义


0
投票

这是 Kotlin 的一个缺陷。请在 Kotlin 问题跟踪器中 +1 KT-28979 以帮助确定修复的优先级。

与此同时,这里有一些有趣的解决方法:

使用 HTML 注释转义
*/

您可以在 Markdown 中使用 HTML 注释来隐藏前面的

/**
,以“转义”结尾的
*/

使用

<pre>
标签来格式化代码。

/**
 * Hello, welcome to the KDoc for the [a] property.
 *
 * Blah blah
 * <!-- /** --> <code>*/*</code>
 * foo bar.
 */
val a = ""

使用Dokka渲染:

screenshot of Dokka docs for val a property, with comment based workaround

零宽度空间

*

/
之间插入
零宽度空格
以防止 Kotlin 解析它。

/**
 * Hello, welcome to the KDoc for the [a] property.
 *
 * `*​/​*`
 */
val a = ""

Web 浏览器不会显示 ,但它们在某些 IDE 中可见:

Code screenshot in an editor that shows ZWSP symbols

使用 ZWSP 并不理想,因为它会影响代码的意图。它仅适用于转义 KDoc 内容中的

*/
,这些内容仅供查看,而不是由用户复制(如命令或代码)。


-1
投票

您可以在 /* 之前添加反斜杠,如下所示:

/* say something \/*
*/
fun defineRoute() { 
/* ... */ 
}
© www.soinside.com 2019 - 2024. All rights reserved.