Rubyがミニツク

あなたのRubyの技術に関するより詳しい知識と理解を増やします。

Ruby入門コース

このコースについて

Rubyのeラーニング研修システムはRailsを使ってWebアプリケーション開発ができる技術者の育成を目指します。 そのため、Railsを扱うことができるだけのRubyの知識を得ることがRuby入門コースの目標となっています。

コンテンツ一覧

ヒント レッスンの名前をクリックすると、その内容を表示します。

次のコンテンツ ホームへ戻る

関数的メソッド

オブジェクト自身が、送られてきたメソッドに対する処理を知っていれば、メソッドは実行されます。
しかし、これまでの引数を端末へ表示するのに使ったメソッドなどは、レシーバがないので何かのオブジェクトへメッセージを送っているようには見えません。

print("foo")
puts("bar")
p "baz"

実は、これらのメソッドも同じようにオブジェクトがメッセージを受け取ってからメソッドを実行しています。これらのメソッドはレシーバを省略する形でしか呼び出せません。
ただし、省略されているだけで実際にはオブジェクトから呼び出されています。
なぜレシーバを省略する形でしか呼び出せないのでしょうか。それはレシーバにオブジェクトを指定しないでメソッドを呼び出すということは、どのオブジェクトでも呼び出せて、同じような動きをすることが期待されているからです。


次のコンテンツ ホームへ戻る