加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 有没有办法逃避评论的结束?

发布时间:2020-12-15 04:18:33 所属栏目:大数据 来源:网络整理
导读:我正在为我的Delphi代码添加注释以获取文档.我想要记录的一件事是 JSON结构,所以我试图将样本 JSON数据注释到代码中.但是,JSON广泛使用了波浪形括号{},巧合的是它也用于Delphi中的注释. 因此,我无法找到添加这些注释的方法.通常对于文档注释块我使用{},例如
我正在为我的Delphi代码添加注释以获取文档.我想要记录的一件事是 JSON结构,所以我试图将样本 JSON数据注释到代码中.但是,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"
//    }
}

只要有一个结束括号},注释行就会被取消注释,即使它的前缀是两个斜杠.所以Delphi在这个括号之后拿起逗号.所以最后,我无法弄清楚我可以在代码中记录JSON样本的任何方式.

我甚至尝试在JSON块周围使用(* *)但仍然没有运气.

有什么方法可以解决这个问题,还是我坚持下去?

解决方法

我在输入这个问题的过程中发现了解决方案,所以现在我正在回答Q / A风格…

当评论块首先在上面问题的代码中开始时,它以一个开括号{.因此,编译器迫切希望找到一个结束括号,即使该结束括号位于另一个注释代码行中.但是,如果此注释块中的每一行都以两个斜杠开头//而不是一个左括号{,那么编译器将不会查找结束括号}.因此,不是上面问题中的代码,而是应该如何编写代码:

//  This is how the JSON structure looks:
//  
//    {
//      "some_string": "value",//      "something_else": "some other string"
//    }

因此,只要您不使用左括号启动注释块,编译器就不会在找到结束括号时尝试结束注释块.

此外,使用(* *)应该可以正常工作,只要您在使用{之后不使用它.用(*和*)括起整个块,编译器将忽略内部的任何{或},如下所示:

(*
  This is how the JSON structure looks:

    {
      "some_string": "value","some_object": {
        "something": 123
      },"something_else": "some other string"
    }
*)

从本质上讲,从你开始发表评论的那一刻起,无论是//,{,还是(*,它都会忽略任何其他类型评论的进一步开放 – 它只会寻找自己评论类型的结尾.所以//将查找该行的结尾,{将查找},(*将查找*).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读