Ruby 什么';这就是@tag和@之间的区别!码内标记文档工具?
在查看示例时,我发现一些以感叹号为前缀的标记 我找到了带感叹号和不带感叹号的工作示例,但我无法发现它们之间的区别,所以当Ruby 什么';这就是@tag和@之间的区别!码内标记文档工具?,ruby,documentation,yard,Ruby,Documentation,Yard,在查看示例时,我发现一些以感叹号为前缀的标记 我找到了带感叹号和不带感叹号的工作示例,但我无法发现它们之间的区别,所以当@时会发生什么变化呢!使用某个标记来代替某个标记 例如,此代码为attr和attr2生成相同的文档 class Anything # @!attribute [rw] attr # @attribute [rw] attr2 end 另一方面,感叹号的重要性被强调了,所以它应该做些什么,但是我找不到任何关于它用法的文档 @!方法示例 Rails模型中的这两个注释都生成
@时会发生什么变化呢!使用某个标记来代替某个标记
例如,此代码为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
中的code>修饰符。例如:
# @!method foo(name, opts = {})
create_a_foo_method
这告诉我们,create\u a\u foo\u method
将生成一个签名为def foo(name,ops={})
的方法。您可以将此思路应用于@!范围
,@!可见性
,以及每隔一段的可见性
@!标签
。正如在Yard文档中所说的,这对记录DSL很有用。事实上并非如此,请参阅我的更新问题,并给出@method
标记的示例。@Fabio这是因为@method
标记的行为。请注意从Yard文档中提取的这一行:注意,Yard使用方法调用中的第一个参数来确定方法名称。在某些情况下,这不是方法名,您需要手动声明它。你可以用@来做!方法指令
。尝试对@return
或@param
等标记执行相同的操作。理论上,没有
您是说下面的代码是一个名为但没有_bang
的方法,并不是说它在类中生成了一个没有_bang的方法。@Fabio请注意,在Yard docs中没有使用@method
标记的示例。请注意@方法
和@!方法
的工作方式与我的示例中的相同。您发布的注释是关于通用@方法的用法,而不是关于代码>用法。顺便说一句,这是gem所有者使用@方法编写的,没有所以我认为这是合法的。