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