1

Yard のドキュメントと例を見ていると、エクスクラメーション マークの付いたタグがいくつか見つかりました。

感嘆符の有無にかかわらず動作する例を見つけましたが、違いを見つけることができませんでし@!some-tag@some-tag

たとえば、このコードは と の両方について同じドキュメントを生成しますattrattr2

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')

ヤード出力:

ヤード出力

4

1 に答える 1

0

!修飾子 inYardは、文書化されたコード片がそのクラスで属性またはメソッドを生成する場合に使用されます。例えば:

# @!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 に答える