Rubyの代入・多重代入・並行代入を完全解説!初心者でもわかるa, b = 1, 2の使い方
生徒
「Rubyのサンプルコードでa, b = 1, 2っていう書き方を見たんですけど、どういう意味ですか?」
先生
「これは多重代入(並行代入)と呼ばれる便利な書き方です。1行で複数の変数に値を代入できる仕組みなんですよ。」
生徒
「普通の代入と何が違うんですか?どんな場面で役に立つんでしょうか?」
先生
「とても大事なポイントですね!それでは、基本から順番に見ていきましょう。」
1. Rubyの代入とは?
プログラミングの代入とは、変数に値を入れることを意味します。変数はデータを一時的に保存する「箱」のようなものです。Rubyでは次のように書きます。
a = 10
b = 20
puts a
puts b
10
20
この例では、変数aに10を、変数bに20を代入しています。とてもシンプルですね。
2. 多重代入(並行代入)の基本
Rubyでは、複数の変数に同時に値を代入できる多重代入(並行代入)という仕組みがあります。これはRubyらしい書き方のひとつで、とても便利です。
a, b = 1, 2
puts a
puts b
1
2
このように、aに1が、bに2が一度に代入されます。もしこれを通常の代入で書くと2行必要ですが、多重代入なら1行で済みます。
3. 変数の入れ替えに便利!
多重代入の代表的な使い方は、変数の値を入れ替える(スワップ)処理です。通常は一時変数を使わなければできませんが、Rubyでは1行で書けます。
a = 5
b = 10
a, b = b, a
puts a
puts b
10
5
このように、aとbの値を入れ替えることができます。他の言語では少し面倒な処理ですが、Rubyではとても簡単です。
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. 配列との組み合わせ
多重代入は配列とも相性が良いです。配列の要素をまとめて取り出すことができます。
numbers = [100, 200, 300]
x, y, z = numbers
puts x
puts y
puts z
100
200
300
このように、配列の要素をそのまま変数に展開できます。
6. *(アスタリスク)を使った便利な代入
多重代入では、*(アスタリスク)を使うことで「残り全部を配列にまとめる」という便利な書き方ができます。
a, *b = 1, 2, 3, 4
puts a
puts b.inspect
1
[2, 3, 4]
このように、aには1つ目の値が入り、残りは配列としてbに入ります。
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 で自分の手を動かしながら、理解を深めてみてください。」
生徒
「わかりました!今日の内容を何度も試してみます。ありがとうございました!」