From: Yusuke Endoh Date: 2011-12-03T18:00:23+09:00 Subject: [ruby-list:48559] Re: ruby 1.9.3p0 の private_constant 遠藤です。 2011年12月3日16:57 Kenichi Kamiya : > <質問> > この動きは、仕様通りと考えてよろしいでしょうか? > 引数として受け取る以上、C2もprivateになってほしいなと感じました。 バグです。修正します。ありがとうございます。 > C4に関してはどちらもありうると思うのですが、個人的にはこっちもprivateになってほしいかなと 私もどちらもありうると思いますが、private にしなかったのは意図的です。 private や module_function より後から入ったと思われる private_ class_method がその記法をサポートしていなかったので、最近はむやみに スコープに状態を持たせない流儀なのかな、と考えたためです。 class Foo private_class_method def self.foo end end Foo.foo # 呼べる 両方共サポートすべき!と思われるなら、チケットをきってください。 引数 0 個の時に何も言わないのも private_class_method たちと同じです が、不親切すぎる気もするので、とりあえず警告を出すようにしましょうか。 $VERBOSE = true module Foo public_class_method public_constant end -:3: warning: public_class_method with no argument has no effect -:4: warning: public_constant with no argument has no effect -- Yusuke Endoh