Menu
Coddy logo textTech

配列の演算子

CoddyのRubyジャーニー「基礎」セクションの一部 — レッスン 71/88。

Rubyには、配列を強力な方法で結合、比較、操作できる特別な演算子が用意されています。これらの演算子を使用すると、複数の配列を一度に簡単に扱うことができます。

+ 演算子は、2つの配列を連結して新しい配列を作成します:

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

puts combined  # 出力: 1, 2, 3, 4, 5, 6

- 演算子は、2番目の配列に含まれる要素を最初の配列から取り除きます:

all_numbers = [1, 2, 3, 4, 5]
to_remove = [2, 4]
result = all_numbers - to_remove

puts result  # 出力: 1, 3, 5

& 演算子は、両方の配列に共通する要素(積集合)を返します:

a = [1, 2, 3, 4]
b = [3, 4, 5, 6]
common = a & b

puts common  # 出力: 3, 4

| 演算子は、配列を結合して重複を削除します(和集合):

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

puts union  # 出力: 1, 2, 3, 4, 5

これらの演算子はすべて、新しい配列を作成し、元の配列は変更しません。

challenge icon

チャレンジ

簡単

カンマ区切りの整数を含む2行の入力を読み取ります:

  1. 1つ目の配列 (例: 1,2,3,4,5)
  2. 2つ目の配列 (例: 3,4,5,6,7)

以下の操作を実行し、各結果をそれぞれの行に出力してください:

  1. 両方の配列を連結した各要素を出力します (+ を使用)
  2. セパレータとして --- を出力します
  3. 差分(1つ目の配列から2つ目の配列を引いたもの)の各要素を出力します (- を使用)
  4. セパレータとして --- を出力します
  5. 積集合(共通の要素)の各要素を出力します (& を使用)
  6. セパレータとして --- を出力します
  7. 和集合(重複なしで結合したもの)の各要素を出力します (| を使用)

例えば、入力が 1,2,3,4,53,4,5,6,7 の場合、出力は以下のようになります:

1
2
3
4
5
3
4
5
6
7
---
1
2
---
3
4
5
---
1
2
3
4
5
6
7

入力が 10,20,3030,40,50 の場合、出力は以下のようになります:

10
20
30
30
40
50
---
10
20
---
30
---
10
20
30
40
50

入力が 5,10,151,2,3 の場合、出力は以下のようになります:

5
10
15
1
2
3
---
5
10
15
---
---
5
10
15
1
2
3

チートシート

Rubyは、配列の結合、比較、操作のための特別な演算子を提供しています:

+ 演算子は、2つの配列を連結します:

a = [1, 2, 3]
b = [4, 5, 6]
combined = a + b  # [1, 2, 3, 4, 5, 6]

- 演算子は、最初の配列から2番目の配列に含まれる要素を取り除きます:

all_numbers = [1, 2, 3, 4, 5]
to_remove = [2, 4]
result = all_numbers - to_remove  # [1, 3, 5]

& 演算子は、積集合(共通の要素)を返します:

a = [1, 2, 3, 4]
b = [3, 4, 5, 6]
common = a & b  # [3, 4]

| 演算子は、和集合(重複を除いて結合したもの)を返します:

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

これらの演算子はすべて新しい配列を作成し、元の配列は変更しません。

自分で試してみよう

# 入力配列を読み込む
input1 = gets.chomp.split(',').map(&:to_i)
input2 = gets.chomp.split(',').map(&:to_i)

# TODO: 以下にコードを記述してください
# 以下の操作を実行します:
# 1. + を使用した結合
# 2. - を使用した差分
# 3. & を使用した積集合
# 4. | を使用した和集合
# 各結果を操作の間の区切り文字として "---" と共に表示します
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン