カテゴリ: Ruby 更新日: 2025/12/25

Ruby配列の連結と分割を完全ガイド!+・concat・|・&・partition・each_sliceを初心者向けに解説

連結と分割:+・concat・|・&・partition・each_slice の実例
連結と分割:+・concat・|・&・partition・each_slice の実例

先生と生徒の会話形式で理解しよう

生徒

「配列が増えてきて、ごちゃごちゃしてきました。まとめたり分けたりできますか?」

先生

「Rubyの配列には、連結したり、条件で分けたりする便利な方法があります。」

生徒

「難しそうですが、パソコン初心者でも分かりますか?」

先生

「大丈夫です。紙のリストを整理する感覚で覚えられますよ。」

1. 配列の連結と分割とは?

1. 配列の連結と分割とは?
1. 配列の連結と分割とは?

Rubyの配列は、複数のデータを順番に並べて保存する箱です。 買い物メモややることリストのように、いくつも値をまとめて扱えます。

プログラムを書いていると、「二つの配列を一つにまとめたい」 「一つの配列を条件ごとに分けたい」という場面が必ず出てきます。 これが連結分割です。

2. +演算子で配列を連結する

2. +演算子で配列を連結する
2. +演算子で配列を連結する

一番分かりやすい連結方法が「+」です。 紙のリストを横につなげるイメージで使えます。


a = [1, 2, 3]
b = [4, 5]
p a + b

[1, 2, 3, 4, 5]

元の配列は変わらず、新しい配列が作られます。 初心者はまずこの方法を覚えると安心です。

3. concatで配列を直接つなげる

3. concatで配列を直接つなげる
3. concatで配列を直接つなげる

concatは、配列そのものに別の配列を追加します。 ノートに直接書き足すようなイメージです。


a = [1, 2]
b = [3, 4]
a.concat(b)
p a

[1, 2, 3, 4]

元の配列が変わる点に注意しましょう。 「もう元に戻さない」と決めているときに向いています。

4. | 演算子で重複を除いて連結

4. | 演算子で重複を除いて連結
4. | 演算子で重複を除いて連結

「|」は重複を自動で消しながら連結します。 同じ内容が何度も出てほしくない場合に便利です。


a = [1, 2, 3]
b = [3, 4, 5]
p a | b

[1, 2, 3, 4, 5]

名簿を統合するときのイメージで覚えると理解しやすいです。

5. & 演算子で共通部分だけ取り出す

5. & 演算子で共通部分だけ取り出す
5. & 演算子で共通部分だけ取り出す

「&」は、二つの配列に共通している要素だけを取り出します。 両方に書いてある名前を探すような感覚です。


a = [1, 2, 3]
b = [2, 3, 4]
p a & b

[2, 3]

条件が重なるデータを探すときに役立ちます。

6. partitionで条件ごとに分割する

6. partitionで条件ごとに分割する
6. partitionで条件ごとに分割する

partitionは、条件によって配列を二つに分けます。 例えば「合格と不合格」「偶数と奇数」のように分類できます。


numbers = [1, 2, 3, 4, 5]
result = numbers.partition { |n| n.even? }
p result

[[2, 4], [1, 3, 5]]

even?は「偶数かどうか」を調べる命令です。 条件に合うものと合わないものに分かれます。

7. each_sliceで一定数ずつ分割する

7. each_sliceで一定数ずつ分割する
7. each_sliceで一定数ずつ分割する

each_sliceは、配列を決まった数ずつ区切ります。 お菓子を三個ずつ袋に分けるようなイメージです。


numbers = [1, 2, 3, 4, 5, 6]
numbers.each_slice(2) do |group|
  p group
end

[1, 2]
[3, 4]
[5, 6]

データをまとめて処理したいときにとても便利です。

8. 連結と分割を使いこなすコツ

8. 連結と分割を使いこなすコツ
8. 連結と分割を使いこなすコツ

配列操作は、紙のリスト整理を想像すると理解しやすくなります。 「足す」「混ぜる」「分ける」という感覚を大切にしましょう。

Rubyの配列はとても柔軟なので、 慣れてくるとデータ整理が一気に楽になります。

関連記事:
カテゴリの一覧へ
新着記事
New1
Ruby
“すべてはオブジェクト”を体感!初心者向けRubyのオブジェクト指向入門【irbで学ぶ】
New2
Ruby
Rubyの標準入出力を完全ガイド!puts・print・pの違いとデバッグ活用法
New3
Ruby
Gemとは?RubyGemsとBundlerを初心者向けに完全解説!依存関係管理も図解でわかりやすく理解
New4
Ruby
Rubyの文字エンコーディング入門!UTF-8・マジックコメント・外部/内部エンコーディングを完全解説
人気記事
No.1
Java&Spring記事人気No1
Ruby
Rubyのreduceとinject入門!合計計算や集計を初心者向けに分かりやすく解説
No.2
Java&Spring記事人気No2
Ruby
Rubyの文字列エンコーディング完全ガイド!Encoding・force_encoding・encodeを初心者向け解説
No.3
Java&Spring記事人気No3
Ruby
Rubyの始め方ガイド:インストールから最初のHello Worldまで(Windows/Mac/Linux)
No.4
Java&Spring記事人気No4
データベース
PostgreSQLのWHERE句を徹底解説!初心者でもわかるSQLデータ抽出の基本
No.5
Java&Spring記事人気No5
Ruby
Rubyのfind/detect/find_indexを徹底解説!目的のデータを素早く探す方法
No.6
Java&Spring記事人気No6
Ruby
Rubyのselect/reject/filterの使い方を完全解説!初心者向けの条件抽出レシピ
No.7
Java&Spring記事人気No7
Ruby
Rubyで比較演算子を完全解説!==・===・<=>・eql? の使い分け
No.8
Java&Spring記事人気No8
データベース
PostgreSQLで順位付け!ROW_NUMBER関数の使い方を初心者向けに徹底解説