Ruby 1.9.3以降、プライベート定数を作成できます。
module M
class C; end
private_constant :C
end
これが何をするかについての良いドキュメントはありますか?呼び出しと同様にプライベート定数のみの名前を取得する方法はありますかconstants
Ruby 1.9.3以降、プライベート定数を作成できます。
module M
class C; end
private_constant :C
end
これが何をするかについての良いドキュメントはありますか?呼び出しと同様にプライベート定数のみの名前を取得する方法はありますかconstants
Ruby 1.9.3までは、プライベート定数のようなものはありません。ただし、すべての定数のリストを取得するには、を使用するだけですconstants
。
module Mod
CONST = "value"
end
Mod.constants #=> [:CONST]
1.9.3からprivate_constant
追加されましたが、本当にプライベートなものはないので、次のことができます...
module Mod
CONST = "value"
private_constant :CONST
end
Mod.const_get(:CONST) #=> "value"
すべてのプライベート定数のリストを取得する方法はないと思いますが、特定の名前の存在をテストすることはできます。
Mod.const_defined?(:CONST) #=> true