RubyやRailsで関数の中で小なり2つ(<<)を使った書き方を目にすることがあります。この意味について解説しています。
pushと同じ
小なり2つ(<<)は pushメソッドと同じく配列に指定した要素を追加する書き方です。
arr = []
arr << 6
pp arr
#出力結果
[6]
これはpushを使った次の書き方と同じです。
arr = []
arr.push(6)
pp arr
#出力結果
[6]
複数の値を追加する
<<
は引数は1つしか指定できません。複数追加したいときは <<
をつなぎます。
arr = []
arr << 6 << 8 << 10
pp arr
#出力結果
[6, 8, 10]
これはpushを使った次の書き方と同じです。
arr = []
arr.push(6, 8, 10)
pp arr
#出力結果
[6]
ハッシュ(オブジェクト)を追加する
<<
を使ってキー・バリューのハッシュ(オブジェクト)を配列に渡すこともできます。
改行も使えるので、次のような記述を目にすることが多いです。
arr = []
arr << {
a: "AAA",
b: "BBB"
}
pp arr
#出力結果
[{:a=>"AAA", :b=>"BBB"}]
これはpushを使った次の書き方と同じです。
arr = []
arr.push({
a: "AAA",
b: "BBB"
})
pp arr
#出力結果
[{:a=>"AAA", :b=>"BBB"}]
小なり2つ(<<)を使うとpush()
を省けるので必要な文字数が少なくなり簡単に記述することができます。
便利なのでビビらずどんどん使っていきましょう。