Ruby超入門 2周目 CHAPTER8-5 オブジェクトが作られるときに処理を行う まで
『ゼロからわかる Ruby 超入門 (かんたんIT基礎講座) 』
github.com
なんだか今日は調子の良い一日だった。そんな感じ。こんばんはkoujiです。
はーい!それじゃ今日も振り返っていきまーっす!!
initializeメソッド
initializeってメソッドは特別なメソッドで、これを書いてあげるとオブジェクトが新しく作られた時に自動で呼び出されるんだよ!上のプログラムだとBaby.newで新しくオブジェクトが作られると自動で「オギャー!!オギャー!!」って泣く感じですねぇ…
initializeメソッドでインスタンス変数の初期値を設定
上の場合だとAlc.newで新しいオブジェクトが作成されると、initializeメソッドが自動で呼び出されて@orderに"生中"が代入される感じ。それが初期値になるんだねぇ。orderメソッドを呼ぶと、戻り値が"生中”になってるよーって話だね!やっぱり最初は生中だね。
initializeメソッドに引数を渡す
はーい。initializeメソッドにも引数渡せますね!initialize(変数)で、この場合はorderだね。で、それを@orderに代入すると。なので上の場合だとAlc.new("生中")でオブジェクト作成時に引数として"生中"を渡してる。で、その生中がinitialize(order)のorderに渡されて、それが@orderに代入されてるって感じだね!なのでputs alc.orderでorderメソッドを呼び出すと戻り値は"生中”になってるよ!
上みたいな感じで書くと色々なオブジェクトが作れるね。例えば3人で飲みに行ったとするじゃん。それぞれ最初に注文するものがそれぞれ異なる。生中であったりハイボールであったりウーロンハイであったりね。1くんは生中 2くんはハイボール 3くんはウーロンハイみたいな。そんな感じ!どんな感じやねんって感じだけれど…
ってことで、今日はinitializeメソッドでしたぁ〜。しかしこれも便利だねぇ。
それにしてもこうやって自分なりに丁寧に復習していくと、それってそういうことだったのねみたいなのもすごく多くて、全然理解してなかったんだなぁと思う反面、なんか少しわかってきたんじゃないの俺?みたいな感じでスローペースだけど面白さが増してくる感じが堪りませんなー。
ってことで明日は少し早めに起きないといけないので短いけど今日はこの辺で!
アディオス!