uniqメソッドの基本
Rubyの配列操作には様々なメソッドがありますが、その中でも uniq
メソッドは特に便利なものの一つです。このメソッドは、配列から重複する要素を取り除いた新しい配列を生成します。
以下に基本的な使用方法を示します。
array = [1, 2, 2, 3, 3, 3]
unique_array = array.uniq
puts unique_array
# => [1, 2, 3]
この例では、元の配列 array
から重複する要素を取り除いた新しい配列 unique_array
を生成しています。puts
メソッドを使って unique_array
を出力すると、 [1, 2, 3]
と表示されます。これは、元の配列 array
から重複する要素が取り除かれた結果です。
uniq
メソッドは非破壊的なメソッドで、元の配列は変更されません。元の配列を変更するには、破壊的なメソッドである uniq!
メソッドを使用します。
以上が uniq
メソッドの基本的な使用方法です。次のセクションでは、さらに詳細な使用例を見ていきましょう。
uniqメソッドの使用例
Rubyの uniq
メソッドは、配列から重複する要素を取り除くための非常に便利なメソッドです。以下に、その使用例をいくつか示します。
基本的な使用例
array = [1, 2, 2, 3, 3, 3]
unique_array = array.uniq
puts unique_array
# => [1, 2, 3]
この基本的な使用例では、元の配列 array
から重複する要素を取り除いた新しい配列 unique_array
を生成しています。
ブロックを使用した使用例
uniq
メソッドはブロックを受け取ることもできます。ブロックを使用すると、重複を判定するための条件を自由に設定することができます。
array = ["apple", "banana", "APPLE", "BANANA"]
unique_array = array.uniq { |item| item.downcase }
puts unique_array
# => ["apple", "banana"]
この使用例では、ブロック内で downcase
メソッドを使用して、大文字と小文字を区別せずに重複を判定しています。
以上が uniq
メソッドの使用例です。次のセクションでは、ブロックを使用した uniq
メソッドについて詳しく見ていきましょう。
ブロックを使用したuniqメソッド
Rubyの uniq
メソッドは、ブロックを受け取ることができます。これにより、重複を判定するための条件を自由に設定することが可能になります。
以下に、ブロックを使用した uniq
メソッドの使用例を示します。
array = ["apple", "banana", "APPLE", "BANANA"]
unique_array = array.uniq { |item| item.downcase }
puts unique_array
# => ["apple", "banana"]
この例では、ブロック内で downcase
メソッドを使用しています。downcase
メソッドは、文字列を小文字に変換するメソッドです。このメソッドを使用することで、大文字と小文字を区別せずに重複を判定することができます。
このように、ブロックを使用した uniq
メソッドは、より柔軟な重複判定を可能にします。次のセクションでは、 uniq!
メソッドについて詳しく見ていきましょう。
uniq!メソッドの特性
Rubyの uniq
メソッドは非破壊的なメソッドで、元の配列は変更されません。しかし、元の配列を直接変更したい場合は、破壊的なメソッドである uniq!
メソッドを使用します。
以下に、 uniq!
メソッドの使用例を示します。
array = [1, 2, 2, 3, 3, 3]
array.uniq!
puts array
# => [1, 2, 3]
この例では、 uniq!
メソッドを使用して元の配列 array
を直接変更しています。 puts
メソッドを使って array
を出力すると、 [1, 2, 3]
と表示されます。これは、 uniq!
メソッドによって array
から重複する要素が取り除かれた結果です。
ただし、 uniq!
メソッドは元の配列に重複する要素がない場合、 nil
を返します。これは uniq!
メソッドの特性の一つです。
array = [1, 2, 3]
result = array.uniq!
puts result
# => nil
この例では、元の配列 array
に重複する要素がないため、 uniq!
メソッドは nil
を返しています。
以上が uniq!
メソッドの特性です。次のセクションでは、 uniq
メソッドと他の配列操作との関連について見ていきましょう。
uniqメソッドと他の配列操作
Rubyの配列操作には uniq
メソッド以外にも様々なメソッドがあります。これらのメソッドを組み合わせることで、より複雑な配列操作を行うことができます。
以下に、 uniq
メソッドと他の配列操作メソッドを組み合わせた使用例を示します。
uniqメソッドとmapメソッド
uniq
メソッドと map
メソッドを組み合わせることで、配列の各要素を変換した上で、重複を取り除くことができます。
array = ["apple", "banana", "APPLE", "BANANA"]
unique_array = array.map(&:downcase).uniq
puts unique_array
# => ["apple", "banana"]
この例では、 map
メソッドを使用して配列の各要素を小文字に変換した上で、 uniq
メソッドを使用して重複を取り除いています。
uniqメソッドとsortメソッド
uniq
メソッドと sort
メソッドを組み合わせることで、配列の要素をソートした上で、重複を取り除くことができます。
array = [3, 1, 2, 3, 2, 1]
sorted_unique_array = array.sort.uniq
puts sorted_unique_array
# => [1, 2, 3]
この例では、 sort
メソッドを使用して配列の要素をソートした上で、 uniq
メソッドを使用して重複を取り除いています。
以上が uniq
メソッドと他の配列操作との関連についての説明です。Rubyの配列操作は非常に強力で、これらのメソッドを組み合わせることで様々な操作を行うことができます。ぜひ、さまざまなメソッドを試してみてください。