Ruby でシングルトン パターンを実装しようとしましたが、Ruby でプライベート クラス メソッドにアクセスできない理由を知りたいだけです
class Test
private_class_method :new
@@instance = nil
def self.getInstance
if(!@@instance)
@@instance = Test.new
end
return @@instance
end
end
「new」をプライベート クラス メソッドとして宣言し、シングルトン メソッド「getInstance」で「new」を呼び出そうとします。
テスト出力
>> require "./test.rb"
=> true
>> Test.getInstance
NoMethodError: private method `new' called for Test:Class
from ./test.rb:7:in `getInstance'
from (irb):2
>>