Yard文档工具中的@tag和@!标签有什么区别?
在查看Yard文档和示例时,我发现一些标签以感叹号为前缀。
我发现有和没有感叹号的工作示例,我无法发现差异,所以当使用@!some-tag
代替@some-tag
时会发生什么变化?
例如,此代码为attr
和attr2
生成相同的文档
class Anything # @!attribute [rw] attr # @attribute [rw] attr2 end
另一方面,在一些 例子中,感叹号的重要性有下划线,所以它应该做一些事情,但我找不到任何关于它的使用的文档。
@!方法示例
Rails模型中的这两个注释都会生成新方法
# @!method with_bang(param) scope :foo_bar, where(foo: 'bar') # @method without_bang(param) scope :foo_baz, where(foo: 'baz')
码输出:
的!
当记录的代码片段将在其类中生成属性或方法时,使用Yard
修饰符。 例如:
# @!method foo(name, opts = {}) create_a_foo_method
这告诉我们create_a_foo_method
将生成一个带有签名def foo(name, ops = {})
。 您可以将这种思路应用于@!scope
, @!visibility
和其他所有@!tag
。 如Yard文档中所述,这对于记录DSL非常有用。