ジョギング
- 引き続き、休み
- でも、今朝は香椎浜まで散歩出来た
日課
- お休み
夕飯
- 久しぶりにダイレックスにも買い物に行けた
- ということで、鍋
今日のるびぃ ~ メソッドの公開レベルについて (2) ~
引き続き, プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで の読書メモ.
クラスメソッドを private にしたい
- private キーワードの下に定義したメソッドが private メソッドになるのはインスタンスメソッドだけ
- クラスメソッドはこの限りではなく, 以下のように private メソッドとして扱われない
class Foo private def self.foo 'foo' end end Foo.foo #=> "foo"
private メソッドとして扱うには, 以下のように書く必要がある.
class Foo class << self private def foo 'foo' end end end Foo.foo #=> NoMethodError: private method `foo' called for Foo:Class
private_class_method を利用して, 以下のように書くことでも private メソッドになる.
class Foo def self.foo 'foo' end private_class_method :foo end Foo.foo #=> NoMethodError: private method `foo' called for Foo:Class
ふむふむ.