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

Rubyの代入・多重代入・並行代入を完全解説!初心者でもわかるa, b = 1, 2の使い方

代入・多重代入・並行代入:a, b = 1, 2 を使いこなすテクニック
代入・多重代入・並行代入:a, b = 1, 2 を使いこなすテクニック

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

生徒

「Rubyのサンプルコードでa, b = 1, 2っていう書き方を見たんですけど、どういう意味ですか?」

先生

「これは多重代入(並行代入)と呼ばれる便利な書き方です。1行で複数の変数に値を代入できる仕組みなんですよ。」

生徒

「普通の代入と何が違うんですか?どんな場面で役に立つんでしょうか?」

先生

「とても大事なポイントですね!それでは、基本から順番に見ていきましょう。」

1. Rubyの代入とは?

1. Rubyの代入とは?
1. Rubyの代入とは?

プログラミングの代入とは、変数に値を入れることを意味します。変数はデータを一時的に保存する「箱」のようなものです。Rubyでは次のように書きます。


a = 10
b = 20
puts a
puts b

10
20

この例では、変数a10を、変数b20を代入しています。とてもシンプルですね。

2. 多重代入(並行代入)の基本

2. 多重代入(並行代入)の基本
2. 多重代入(並行代入)の基本

Rubyでは、複数の変数に同時に値を代入できる多重代入(並行代入)という仕組みがあります。これはRubyらしい書き方のひとつで、とても便利です。


a, b = 1, 2
puts a
puts b

1
2

このように、a1が、b2が一度に代入されます。もしこれを通常の代入で書くと2行必要ですが、多重代入なら1行で済みます。

3. 変数の入れ替えに便利!

3. 変数の入れ替えに便利!
3. 変数の入れ替えに便利!

多重代入の代表的な使い方は、変数の値を入れ替える(スワップ)処理です。通常は一時変数を使わなければできませんが、Rubyでは1行で書けます。


a = 5
b = 10
a, b = b, a
puts a
puts b

10
5

このように、abの値を入れ替えることができます。他の言語では少し面倒な処理ですが、Rubyではとても簡単です。

4. 値の数と変数の数が合わない場合

4. 値の数と変数の数が合わない場合
4. 値の数と変数の数が合わない場合

代入する値の数と変数の数が違う場合、Rubyは自動的に調整します。

値が多い場合


a, b = 1, 2, 3
puts a
puts b

1
2

余った値は無視されます。

値が少ない場合


a, b, c = 1, 2
puts a
puts b
puts c

1
2

足りない変数にはnil(何もないことを表す特別な値)が入ります。

5. 配列との組み合わせ

5. 配列との組み合わせ
5. 配列との組み合わせ

多重代入は配列とも相性が良いです。配列の要素をまとめて取り出すことができます。


numbers = [100, 200, 300]
x, y, z = numbers
puts x
puts y
puts z

100
200
300

このように、配列の要素をそのまま変数に展開できます。

6. *(アスタリスク)を使った便利な代入

6. *(アスタリスク)を使った便利な代入
6. *(アスタリスク)を使った便利な代入

多重代入では、*(アスタリスク)を使うことで「残り全部を配列にまとめる」という便利な書き方ができます。


a, *b = 1, 2, 3, 4
puts a
puts b.inspect

1
[2, 3, 4]

このように、aには1つ目の値が入り、残りは配列としてbに入ります。

7. 代入の活用テクニック

7. 代入の活用テクニック
7. 代入の活用テクニック

Rubyの代入・多重代入・並行代入を理解すると、次のようなメリットがあります。

  • コードを短く書ける
  • 変数の入れ替えが簡単にできる
  • 配列や複数の値をスッキリ処理できる
  • *を使って柔軟にデータを受け取れる

Rubyらしい書き方の代表例なので、しっかり身につけておきましょう。

まとめ

まとめ
まとめ

ここまで、Rubyの代入、そしてRubyならではの書き方である多重代入(並行代入)について丁寧に確認してきました。Rubyは直感的で読みやすいコードを書ける言語として人気がありますが、その大きな理由のひとつがこの多重代入の仕組みです。複数の値を一度に扱ったり、配列と組み合わせたり、値の個数が合わなくても柔軟に処理したりできる点は、日常的なプログラミング作業でとても役立ちます。とくに、変数の入れ替え処理が一行で書けるのはRubyの魅力が凝縮された機能と言えるでしょう。 また、Rubyの多重代入は初心者がつまずきやすい部分でもありますが、実際には仕組みが分かればとてもシンプルで、むしろコードをきれいに書くための強力なサポートになります。複雑に見える書き方も、ひとつずつ動きを確認すると理解が深まり、「こういうときに使えるんだ」と自然に応用できるようになります。さらに、アスタリスク(*)を使った柔軟な受け取り方は、配列処理や可変長のデータを扱う場面で大きな力を発揮します。 多重代入はRubyの基礎でありながら、実務でも頻繁に登場する重要なテクニックです。特に、複数の値を扱う処理やパラメータ展開、配列操作などの場面で多用されます。今回学んだ基本をもとに、ぜひ irb を使ってさまざまなパターンを試しながら、自分のものにしていきましょう。Rubyは書けば書くほど“気持ちよく書ける”言語なので、代入というシンプルな操作でも新しい発見がたくさんあるはずです。

多重代入の動きをもう一度チェックしよう

たとえば次のような使い方もよく登場します。コードの動きを確認しながら、右辺の値がどのように左辺に割り当てられるかを理解しておきましょう。


name, age, country = "太郎", 25, "日本"
puts name
puts age
puts country

first, *rest = [10, 20, 30, 40]
puts first
puts rest.inspect

太郎
25
日本
10
[20, 30, 40]

このように、多重代入を使うことで一度に複数の値を整理でき、Rubyらしい読みやすいコードを書くことができます。特に配列との組み合わせは実務でも頻繁に使われるため、さまざまな形で手を動かして慣れていくのが近道です。

先生と生徒の振り返り会話

生徒

「今日の内容で、Rubyの多重代入ってすごく柔軟だってわかりました!特に a, b = b, a の入れ替えが一行で書けるのが驚きでした。」

先生

「そうでしょう。Rubyは開発者が読みやすく書けるように工夫されているので、多重代入のような便利な仕組みがたくさんあります。アスタリスクを使った残りの値の受け取りも覚えておくといいですよ。」

生徒

「はい!配列から取り出すときにもスッキリ書けるので、実務でも使えそうだなと思いました。」

先生

「その意識は大切ですね。今回学んだ基礎は、Rubyでデータを扱う上で欠かせない知識です。ぜひ irb で自分の手を動かしながら、理解を深めてみてください。」

生徒

「わかりました!今日の内容を何度も試してみます。ありがとうございました!」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Rubyの代入とは何ですか?初心者向けにわかりやすく説明してください。

Rubyの代入とは、変数に値を入れる基本的な操作で、データを保存するための重要な仕組みです。変数は箱のような役割を持ち、aに10、bに20というように値を記録できます。
関連記事:
カテゴリの一覧へ
新着記事
New1
データベース
SQLの処理が遅くなる原因とは?初心者向けにデータベースパフォーマンス最適化を完全解説
New2
Ruby
RubyのネストHash操作を徹底解説!digとtransformメソッドで複雑なデータも楽々
New3
Rails
Railsインデックス設計の極意!爆速サイトを作るためのスキーマ設計ガイド
New4
データベース
SQLのCOMMITとROLLBACKとは?トランザクション操作を初心者向けに完全解説
人気記事
No.1
Java&Spring記事人気No1
Ruby
PATHと環境変数の正しい設定!Windows・Mac・Linux別チェックリスト付き
No.2
Java&Spring記事人気No2
Rails
Railsで日本語と時刻の設定をしよう!初心者でも安心のlocale/zone初期設定チートシート
No.3
Java&Spring記事人気No3
Ruby
Rubyのハッシュを徹底比較!シンボルキーと文字列キーの違いと使い分け
No.4
Java&Spring記事人気No4
Rails
Railsマイグレーションの型選びを完全ガイド!初心者が迷わないカラム設計
No.5
Java&Spring記事人気No5
Ruby
WindowsでRubyをインストールする方法!RubyInstallerとMSYS2を使った完全ガイド
No.6
Java&Spring記事人気No6
Rails
RailsモデルとActive Record基礎|ID戦略を完全理解!AUTO INCREMENT・UUID・ULIDの比較と導入手順
No.7
Java&Spring記事人気No7
Rails
RailsモデルとActive Record基礎|クエリログの読み方を理解してEXPLAIN・joins・includesの違いを学ぼう
No.8
Java&Spring記事人気No8
データベース
ACID特性とは?データベーストランザクションの信頼性を初心者向けに徹底解説