Delphi 有没有办法避开评论的结束括号?
我正在向我的Delphi代码添加注释以获取文档。我试图记录的内容之一是JSON结构,因此我试图将示例JSON数据注释到代码中。然而,JSON广泛使用弯曲的括号Delphi 有没有办法避开评论的结束括号?,delphi,escaping,comments,Delphi,Escaping,Comments,我正在向我的Delphi代码添加注释以获取文档。我试图记录的内容之一是JSON结构,因此我试图将示例JSON数据注释到代码中。然而,JSON广泛使用弯曲的括号{},这恰好也用于Delphi中的注释 因此,我无法找到添加这些评论的方法。通常对于文档注释块,我使用{},例如: { This unit does this and that. Use TSomeComponent to do bla bla } 当我尝试记录JSON数据时,结束括号}会结束注释-即使该行的前缀是单行注释/,因
{}
,这恰好也用于Delphi中的注释
因此,我无法找到添加这些评论的方法。通常对于文档注释块,我使用{}
,例如:
{
This unit does this and that.
Use TSomeComponent to do bla bla
}
当我尝试记录JSON数据时,结束括号}
会结束注释-即使该行的前缀是单行注释/
,因此即使这样也不起作用:
{
This is how the JSON structure looks:
// {
// "some_string": "value",
// "some_object": {
// "something": 123
// }, //<-- Compiler detects this comma
// "something_else": "some other string"
// }
}
{
以下是JSON结构的外观:
// {
//“某些字符串”:“值”,
//“某些对象”:{
//“某物”:123
//},//我在键入此问题时发现了解决方案,所以现在我以问答方式回答它
当注释块第一次以上述问题中的代码开始时,它以一个左括号开始{
。因此,编译器正在拼命寻找一个结束括号,即使该结束括号位于另一个注释代码行中。但是,如果此注释块中的每一行都以两个斜杠/
开头,而不是一个开始括号{
,那么编译器将不会寻找结束括号}
。因此,与其使用上述问题中的代码,不如这样编写:
// This is how the JSON structure looks:
//
// {
// "some_string": "value",
// "some_object": {
// "something": 123
// },
// "something_else": "some other string"
// }
因此,只要您不以开始括号开始注释块,那么编译器在找到结束括号时不会尝试结束注释块
另外,使用(**)
也可以,只要你在已经使用{
之后不使用它。用(*
和*)
括住整个块,编译器就会忽略里面的任何{
或}
,就像这样:
(*
This is how the JSON structure looks:
{
"some_string": "value",
"some_object": {
"something": 123
},
"something_else": "some other string"
}
*)
本质上,从您开始一条注释的那一刻起,无论是/
、{
还是(*
),它都将忽略任何其他类型注释的进一步打开-它将只查找自己注释类型的结尾。因此/
将查找行的结尾,{
将查找}
,和(*
将查找*)
很高兴看到实际行动:-)@TLama我刚才想的几乎完全一样,看问题中的逗号也从注释中排除,在回答中它是注释的一部分,就像在Delphi:D中一样