Feature #10059
closed[PATCH and SUGGEST] 代数構造を記述する時にメタプログラミングは非常に非常に強力ですが
Description
タイトルに書きました通り、代数構造を記述する時にメタプログラミングは非常に非常に強力で
保守性や可読性を著しく推し上げます. 著しくです. これは代数的な性質(演算子の対称性、可逆性など)を記述出来る事に起因します.
しかし議論を呼びそうなのと取り分け優先度が高い訳でないので、提案レベルで簡単なPATCHを投げさせて頂きます. お手透きの時にでも目をお通し下さい.
Files
Updated by akr (Akira Tanaka) about 12 years ago
ふとパッチを見たのですが、これって rdoc で生成されるドキュメントはどうなるのでしょうか。
Updated by kosaki (Motohiro KOSAKI) about 12 years ago
- Status changed from Open to Feedback
Updated by gogotanaka (Kazuki Tanaka) almost 12 years ago
Feedbackを頂いたのにも関わらず、見落としておりました.
失礼しました.
Akira Tanaka wrote:
ふとパッチを見たのですが、これって rdoc で生成されるドキュメントはどうなるのでしょうか。
試みたところ、期待されるモノは生成されませんでした.
rdocの部分を除いても、このfeature自体、見直す余地がありますので一旦取り下げさせて頂きたいと考えております.
蛇足となりますが、method_define を用いたメソッドに対するrdocの生成など面白いかもしれませんね.
お騒がせ致しました.
Updated by ngoto (Naohisa Goto) almost 12 years ago
Updated by gogotanaka (Kazuki Tanaka) almost 12 years ago
@Naohisa Goto さん
なるほど、そちら面白いですね.
しかし、そちらの場合はむしろドキュメントが生成されない方が好ましい気もしますし
method_define を用いた場合は生成されて欲しいです.
(実際に定義されたものを必要十分にドキュメントは生成すべきと考えます)
RDocの方に投げかけてみたいと思います.
ともあれご教授ありがとうございました. 非常によい見地を頂きました.
Updated by ngoto (Naohisa Goto) almost 12 years ago
RDocの件について、前述の"def xxx end if false"のように常に偽になるなら話は簡単ですが、極端な場合だと "def xxx end if rand(5)<3" のようにランダムにメソッド定義が発生するコードも可能ですし、さらに rand関数を再定義するのも可能です。
このような場合も考えると、現在のRDocの挙動(defによるメソッド定義に書かれたドキュメントは詳細な条件分岐は見ずに使う)は順当だと思っています。