Rubyでは、私の理解では、self
は裸のメソッド呼び出しの暗黙の受信者です。ただし、`self`が常にRubyの暗黙の受信機である場合、なぜ` self.puts`は動作しませんか?
~: irb
>> puts "foo"
foo
=> nil
>> self.puts "foo"
NoMethodError: private method `puts' called for main:Object
これについて説明しますか? self
は、ユーザーが明示的に指定していない暗黙の受信機であることを
>> method(:puts).owner
=> Kernel
try 'self.send:puts、" foo "' sendを使ってプライベートメソッドを呼び出すことができます。 – DGM