Menu
Coddy logo textTech

配列の演算子

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

Ruby には、arrays を組み合わせたり、比較したり、操作したりできる特別な演算子があります。これらの演算子を使うと、複数の arrays を一度に簡単に扱えます。

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

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

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

- 演算子は、2 番目の配列に含まれる要素を 1 番目の配列から削除します。

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

puts result  # 出力: 1, 3, 5

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

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

puts common  # 出力: 3, 4

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

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

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

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

challenge icon

チャレンジ

簡単

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

  1. 最初の配列(例:1,2,3,4,5
  2. 2番目の配列(例:3,4,5,6,7

次の操作を実行し、それぞれを独自の行に結果として出力します:

  1. 両方の配列のconcatenationの各要素を出力します(+を使用)
  2. 区切り文字として---を出力します
  3. difference(最初の配列から2番目の配列を引いたもの)の各要素を出力します(-を使用)
  4. 区切り文字として---を出力します
  5. intersection(共通する要素)の各要素を出力します(&を使用)
  6. 区切り文字として---を出力します
  7. union(重複を除いて結合したもの)の各要素を出力します(|を使用)

たとえば、入力が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

自分で試してみよう

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

# TODO: 以下にコードを書いてください
# 次の操作を実行してください:
# 1. + を使用した連結
# 2. - を使用した差集合
# 3. & を使用した積集合
# 4. | を使用した和集合
# 各結果を操作の間に "---" を区切りとして出力する
quiz icon腕試し

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

基礎のすべてのレッスン

自分で練習してみよう: Rubyオンラインコンパイラ