使用YARD时忽略注释掉的代码

G G*_*III 6 ruby yard

我有一些看起来像这样的Ruby代码:

# some_string = "{really?}"
Run Code Online (Sandbox Code Playgroud)

花括号需要成为字符串的一部分.这行是注释掉的代码,我想留在那里.我另外使用YARD来记录代码,所以当我运行yard doc它时(自然地)抛出一个关于无法链接"真的"的警告.

有没有办法告诉YARD忽略注释掉的代码?

Mik*_*ll' 3

\n

有没有办法告诉 YARD 忽略注释掉的代码?

\n
\n

一方面,YARD 被记录为支持 Rdoc 标记。Rdoc 已记录为支持多种隐藏部件的方法。

\n
\n

如果 RDoc 在 # 字符后面发现以 -- 开头的注释行,则它会停止处理注释(否则,如果它具有三个或更多破折号,则将被视为规则)。这可用于将外部注释与内部注释分开,或者阻止注释与方法、类或模块关联。可以使用以 ++ 开头的行重新打开注释。

\n

:stopdoc: / :startdoc:
\n停止并开始向当前\n容器添加新的文档元素。例如,如果某个类有许多您\ndon\xe2\x80\x99 不想记录的常量,请在第一个常量之前添加 :stopdoc: ,在最后一个常量之后添加\n:startdoc: 。如果您未在容器末尾\xe2\x80\x99 指定 :startdoc:,则会禁用当前文件其余部分的文档。

\n
\n

来源

\n

另一方面,我从未说服 Rdoc 或 YARD 遵循该标记。如果你的运气比我好,你可以停止阅读这里。

\n

如果您也无法说服 YARD 遵循该标记,我认为您最好的选择可能是删除该行,并使用独特的提交消息提交文件 - 您将能够轻松找到该文件通过 grep 源代码控制日志。

\n

最后,rake允许您以任意方式转换文本(代码)文件。您可以编写一个 Rakefile 来删除行,然后再通过 YARD 处理它们。

\n
$ cat silly-ruby-file.src \nclass Something\n\n  def this_method\n  end\n\n  def that_method\n    # some_string = "{really?}" # Hide me\n  end\nend\n
Run Code Online (Sandbox Code Playgroud)\n

我附上了文字# Hide me;过滤特定文本比过滤任意代码的注释行要容易得多。

\n
$ cat Rakefile\ntask :default => "silly-ruby-file.rb"\nsh "grep -v \'# Hide me\' silly-ruby-file.src > silly-ruby-file.rb"\n
Run Code Online (Sandbox Code Playgroud)\n

这告诉rakerun grep,将除包含文本“# Hide me”的行之外的所有行复制到标准输出,该标准输出被重定向到“silly-ruby-file.rb”。

\n