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の配列操作は非常に強力で、これらのメソッドを組み合わせることで様々な操作を行うことができます。ぜひ、さまざまなメソッドを試してみてください。

投稿者 hoshino

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です