配列の演算子
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これらすべての演算子は新しい配列を作成し、元の配列は変更しません。
チャレンジ
簡単カンマ区切りの整数をそれぞれ含む、2行の入力を読み取ります:
- 最初の配列(例:
1,2,3,4,5) - 2番目の配列(例:
3,4,5,6,7)
次の操作を実行し、それぞれを独自の行に結果として出力します:
- 両方の配列のconcatenationの各要素を出力します(
+を使用) - 区切り文字として
---を出力します - difference(最初の配列から2番目の配列を引いたもの)の各要素を出力します(
-を使用) - 区切り文字として
---を出力します - intersection(共通する要素)の各要素を出力します(
&を使用) - 区切り文字として
---を出力します - union(重複を除いて結合したもの)の各要素を出力します(
|を使用)
たとえば、入力が1,2,3,4,5と3,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,30と30,40,50の場合、出力は次のようになります:
10
20
30
30
40
50
---
10
20
---
30
---
10
20
30
40
50入力が5,10,15と1,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. | を使用した和集合
# 各結果を操作の間に "---" を区切りとして出力するこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Rubyオンラインコンパイラ