初心者・独学者向け|Rubyのinitializeメソッドとは

プログラミング言語のRubyでクラス生成を行っている時によく出て来るinitializeメソッド。
今回このinitializeメソッドについてについて解説します。
initializeメソッドとは
initializeは特殊なメソッドで、インスタンスを初期化したい処理が発生する場合に記載します。
その為必要がない場合は記載する必要はありません。
じゃあ、何が嬉しくなるかという事を説明します。
まず、下記のサンプルコードを御覧ください。
test.rb
class Animals def initialize(name) @name =name end def hello "#{@name}が鳴きました" end end animals = Animals.new('象').hello p animals #"象が鳴きました"
上記コードでAnimalsクラスを作成する際に象を引き渡し .helloでインスタンスメソッドを実行します。
そうすると象が鳴きましたと出力されます。
インスタンス、クラスの概念が分かりきっていない方は
まぁこんなものかという感じで、頭に入れておいて下さい。
initialize を定義せずにtest.rbと同じ動作をするコード
test2.rb
class Animals def name=(name) @name = name end def hello puts "#{@name}が鳴きました" end end animals = Animals.new animals.name = '象' p animals.hello #"象が鳴きました"
initializeを実行しない場合は、クラスを新規作成して インスタンスメソッドのnameへ引数を設定しその後、pメソッドで表示させています。
鳴き声だけ表示させるなら、これだけでもいいですが、
複数の処理が発生した場合、クラスをnewして、インスタンスメソッドへ引数を引き渡してという処理を、 各処理毎に毎回設定しなければいけません、この手間を削減できるのがinitializeメソッドになります。
プログラミングの勉強中はなかなか難しいメソッドですが、 Railsをコーディングしていると時々利用するメソッドにもなりますので、全て理解しきれないかもしれませんが、
こういうものだという部分だけ理解していただければ幸いです。
その他Rubyの解説記事
Rubyの練習問題:配列編|初心者・独学者向け入門コンテンツ
Rubyの練習問題:文字列編|初心者・独学者向け入門コンテンツ
Rubyの練習問題:ハッシュ編|初心者・独学者向け入門コンテンツ
Rubyの練習問題:繰り返し処理編|初心者・独学者向け入門コンテンツ
Rubyの練習問題:条件分岐編|初心者・独学者向け入門コンテンツ
Ruby技術者認定試験 (Silver version 2.1)対策 | !が付かない破壊的メソッド
初心者・独学者向け|Rubyをプログラミングし始めた人に見て欲しい、Rubyの基本
paiza(パイザ)Cランク練習問題|5以上の整数の合計のRubyサンプルコードと解説