複数の関数間で共有される多数のオプションを持つハッシュ構造を持つ、かなり基本的な yard マクロの使用法であると私が想定したものがあります。この構造をあちこちに複製する必要がないようにするためだけにマクロを使用したいと思っていましたが、そのようには機能しないようです。
私が期待していたのは:
# @macro [new] my_hash
# @param $1 [Hash,Array<Hash>] Inputted my_hash
# @option $1 [String] :a Value for A.
# @option $1 [String] :b Value for B.
# @option $1 [String] :c Value for C.
##
# my_func does stuff
# @macro my_hash h1
def my_func h1
end
##
# other_func does stuff
# @macro my_hash h2
def other_func h2, a, b
end
h1 と h2 が正しく文書化されていること。少なくとも $1 は関数自体から取得するようには機能しないことがわかったと思いますが、両方のパラメーター h1 を呼び出し、マクロで $1 を h1 に置き換えることができますが、まだ欲しいものが得られません.
http://rubydoc.info/docs/yard/file/docs/Tags.md#macroの「単純なマクロの定義」の例は、私がこれを行うことができることを示していますどちらも機能していないようです)。
ヤードについてはよくわかりませんが、これはうまくいきませんか?私の結果を達成するためにできることはありますか?ヤードサーバーコンソールにエラーが表示されないため、これを説明するデバッグ機能はありますか?
ありがとう