1

在查看Yard 文档和示例时,我发现了一些以感叹号为前缀的标签。

我找到了带和不带感叹号的工作示例,但我无法发现差异,那么当@!some-tag使用 代替 时会发生什么变化@some-tag

例如,此代码为两者生成相同的attr文档attr2

class Anything
  # @!attribute [rw] attr
  # @attribute [rw] attr2
end

另一方面,在某些 示例中,感叹号的重要性带有下划线,因此它应该做一些事情,但我找不到任何有关其用法的文档。

@!method 示例

Rails 模型中的这两个注释都会生成新方法

# @!method with_bang(param)
scope :foo_bar, where(foo: 'bar')
# @method without_bang(param)
scope :foo_baz, where(foo: 'baz')

场输出:

码输出

4

1 回答 1

0

当记录的代码段将在其类中生成属性或方法时,使用!修饰符。Yard例如:

# @!method foo(name, opts = {})
create_a_foo_method

这告诉我们create_a_foo_method将生成一个带有签名的方法def foo(name, ops = {})。您可以将这种思路应用到@!scope,@!visibility和其他所有@!tag. 正如 Yard 文档中所说,这对于记录 DSL 很有用。

于 2014-07-30T15:15:43.970 回答