2019/10/21_チェリー本(14日目)
はじめに
昨日もチェリー本をちょっとだけ読みました。
読んだ本
本編
読んだページ数
- 第4章(P118〜P119)
新しく知ったこと
splat展開(*
)
splat展開は、配列の前に*
を記載することで、処理の結果が配列を展開した状態になる。
配列に別配列内の要素を追加
carry = ["肉", "カレーのルー"] vegetable = ["人参", "じゃがいも", "玉ねぎ"] p carry.push(*vegetable) #=>["肉", "カレーのルー", "人参", "じゃがいも", "玉ねぎ"]
ちなみに、push(vegetable)
とすると、
["肉", "カレーのルー", ["人参", "じゃがいも", "玉ねぎ"]]
となります。(配列の中に配列が追加される)
メソッドの可変長引数
- splat展開ではないが、同じく
*
を使う - 個数に制限のない引数を設定するときに使用
def carry(*foods) puts "#{foods.join("と")}を煮込む。それがカレー。" end carry("肉", "カレーのルー", "人参", "じゃがいも", "玉ねぎ") #=> 肉とカレーのルーと人参とじゃがいもと玉ねぎを煮込む。それがカレー。
以上