[#48558] ruby 1.9.3p0 の private_constant — Kenichi Kamiya <kachick1@...>
初めまして、神谷と申します。
7 messages
2011/12/03
[#48569] make test-all — Yuji Yamano <yyamano@...>
こんばんは。
4 messages
2011/12/07
[ruby-list:48559] Re: ruby 1.9.3p0 の private_constant
From:
Yusuke Endoh <mame@...>
Date:
2011-12-03 09:00:23 UTC
List:
ruby-list #48559
遠藤です。
2011年12月3日16:57 Kenichi Kamiya <kachick1@gmail.com>:
> <質問>
> この動きは、仕様通りと考えてよろしいでしょうか?
> 引数として受け取る以上、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 <mame@tsg.ne.jp>