Rubyの配列の追加と連結

Rubyでの配列の追加方法についてです!

いくつか方法があるのでご紹介いたします。

まずは、pushを使って配列の後ろに文字列を指定して追加していくパターン。

# 配列の後ろに文字列を追加するパターン1
areas = ['shibuya', 'sinjuku']
areas.push('shinbashi')
p areas
# => ["shibuya", "sinjuku", "shinbashi"]

後ろにshinbashiが追加されていますね!

次は<<を使って配列の後ろに文字列を指定して追加していくパターン。

# 配列の後ろに文字列を追加するパターン2
areas = ['shibuya', 'sinjuku']
areas << 'shinbashi' p areas # => ["shibuya", "sinjuku", "shinbashi"]

同じく、shinbashiが追加されています!

push, << は複数個でも対応が可能です。
例は以下のとおりです。

 

pushの場合。

# 配列の後ろに文字列を追加するパターン3
areas = ['shibuya', 'sinjuku']
areas.push('shinbashi', 'ikebukuro')
p areas
# => ["shibuya", "sinjuku", "shinbashi", "ikebukuro"]

<<の場合。

# 配列の後ろに文字列を追加するパターン4
areas = ['shibuya', 'sinjuku']
areas << 'shinbashi' << 'ikebukuro' 
p areas 
# => ["shibuya", "sinjuku", "shinbashi", "ikebukuro"]

同じ感じで追加ができていますね。

でも、数が増えると面倒な書き方だなという印象です。
そんな場合は、追加するものを配列化してconcatを使うと読みやすくなります!

以下のとおりです。

# 配列の後ろに配列を追加するパターン
areas = ['shibuya', 'sinjuku']
plus_areas = ['shinbashi', 'ikebukuro']
areas.concat(plus_areas)
p areas
# => ["shibuya", "sinjuku", "shinbashi", "ikebukuro"]

こんな感じですね!

少しスッキリしたかなと思います!

 

何か参考になれば幸いです(*^^*)