ruby では . オブジェクトを持つオペレーターは.、メッセージを送信するのに役立ちます (右に.)。
上記の原則と this-を使用すると、オペレーターはオブジェクトにメッセージを送信している"100".to_sと言えます。良いですね!.to_s100
では、はputs("hello")どうですか?地元の Ruby 専門家への質問は次のとおりです。
どこ 。オペレーター?
ここの受け手は誰ですか?
ruby では . オブジェクトを持つオペレーターは.、メッセージを送信するのに役立ちます (右に.)。
上記の原則と this-を使用すると、オペレーターはオブジェクトにメッセージを送信している"100".to_sと言えます。良いですね!.to_s100
では、はputs("hello")どうですか?地元の Ruby 専門家への質問は次のとおりです。
どこ 。オペレーター?
ここの受け手は誰ですか?
この場合の受信者は暗黙的selfです。putsの方法ですKernel。すべてのクラスにカーネル モジュールが含まれているため、すべてのオブジェクトにputsメソッドがあります。唯一のことは、それはプライベートです。selfプライベート メソッドは暗黙的に(または を使用してsend)のみ呼び出すことができます
puts 'foo' # >> foo
1.puts 'bar' # ~> -:3:in `<main>': private method `puts' called for 1:Fixnum (NoMethodError)
1.send :puts, 'bar' # >> bar
レシーバーは省略され、selfそのコンテキストにあります。したがって、.も省略されます。putsは のメソッドでKernelあり、受信者が何であれ、インスタンスを持つ任意のクラスに含まれているputsため、アクセスできます。Kernel