[#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:48558] ruby 1.9.3p0 の private_constant
From:
Kenichi Kamiya <kachick1@...>
Date:
2011-12-03 07:57:08 UTC
List:
ruby-list #48558
初めまして、神谷と申します。 <状況> ruby 1.9.3p0 で、private_constantが次の挙動を取りました。 class My C1 = 1 C2 = 2 private_constant :C1, :C2 C3 = 3 private_constant C4 = 4 end p My.constants #=> [:C2, :C3, :C4] p My::C1 #=> in `<main>': private constant My::C1 referenced (NameError) p My::C2 #=> 2 p My::C3 #=> 3 p My::C4 #=> 4 <質問> この動きは、仕様通りと考えてよろしいでしょうか? 引数として受け取る以上、C2もprivateになってほしいなと感じました。 C4に関してはどちらもありうると思うのですが、個人的にはこっちもprivateになってほしいかなと ↓こんなイメージです。 p My.constants #=> [:C3] p My::C1 #=> in `<main>': private constant My::C1 referenced (NameError) p My::C2 #=> in `<main>': private constant My::C2 referenced (NameError) p My::C3 #=> 3 p My::C4 #=> in `<main>': private constant My::C4 referenced (NameError) 既に出ていたり、ruby-dev側が望ましい話題であれば申し訳ありません。 -- 神谷 健一