问题描述
我正在使用最新版本
.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/railties-6.0.3.3/lib/rails.rb
如果您运行rails notes -a [" "]
,则会收到没有错别字的干净清单。但是,如果运行rails notes -a ["literally_any_single_letter"]
,则打印出的每一行都会丢失其描述的第一个字母。对我来说很奇怪。
我知道我可能没有正确使用“笔记”,但是我一直在努力学习,这就是我所观察到的。
解决方法
笔记匹配器的想法相对简单。它搜索以指定注释之一开头的任何注释。默认注释为TODO
,FIXME
和OPTIMIZE
,但是,您可以使用-a
或--annotations=tag1 tag2 ...
指定所需的任何注释。如果指定了多个注释,为了清楚起见,它们会保留在输出中:
% rails notes -a TODO FOO
app/models/foo.rb:
* [2] [TODO] Add stuff
* [3] [TODO] even more missing stuff
* [4] [FOO] this is foo
如果仅指定一个注释,它将“吃掉”注释以清理输出:
rails notes -a TODO
app/models/foo.rb:
* [2] Add stuff
* [3] colon is optional
因此,如果您定义一个单字母注释,您将a)获取以字母开头的每个注释,b)有助于“吃掉”输出中的字母。
% rails notes -a T
app/javascript/packs/application.js:
* [ 1] his file is automatically compiled by Webpack,along with any other files
app/models/foo.rb:
* [ 2] ODO: Add stuff
* [ 3] ODO colon is optional
由于您的示例包括将注释包装在方括号([])中,因此我应该注意,这样做可能会令您感到惊讶。使用notes
命令可以在指定注释时至少以有限的方式使用正则表达式。在Ruby正则表达式中,[abc]
的意思是“匹配a,b或c中的任何一个”。所以:
% rails notes -a [TD]ODO
app/models/foo.rb:
* [2] [TODO] Add stuff
* [3] [TODO] even more missing stuff
* [4] [DODO] some dodo