こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、10年目エンジニアです。
この記事では、 Rubyで配列から重複した要素を取り除くことができるuniqメソッドについて
- uniqメソッドとは
- 実際にuniqメソッドを使ったサンプルプログラム
と、この記事で丁寧に解説していきます。
目次
前提条件
この記事で使っているRubyのバージョンは、2.6.6です。
Rubyのインストールは、下の記事をご参考ください。
uniqメソッドとは
uniqメソッドとは、配列から重複している要素を取り除いた配列を返すメソッドです。
uniqメソッドは使い方が
- パターン1:ブロックを指定しない場合
- パターン2:ブロックを指定する場合
の合計2パターンあります。
それぞれ解説します。
パターン1:ブロックを指定しない場合
ブロックを指定しない場合は、下記のように使います。
上記の例だと、resultには配列[“a”,”b”]が返されます。
もし配列が空だった場合、空の配列を返します。
パターン2:ブロックを指定する場合
ブロックを指定する場合は、下記のように使います。
上記の例だと、resultには配列[1, “3”]が返されます。
もし配列が空だった場合、空の配列を返します。
では、次の章で実際に使ってみます。
uniqメソッドを解説するプログラムの概要
uniqメソッドを解説するプログラムでは、
- パターン1:ブロックを指定しない場合
- パターン2:ブロックを指定する場合
それぞれで、uniqメソッドを使い、結果を表示させます。
Rubyサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# 確認する配列 strarray = ["xyz", "ABC", "XYZ", "ABC"] puts "#{strarray}" # パターン1:配列で重複している要素を削除 puts "■パターン1:ブロックを指定しない場合" puts "重複を削除:#{strarray.uniq}" # パターン2:ブロックで指定した条件の要素を削除 puts "■パターン2:ブロックを指定する場合" strresult = strarray.uniq { |str| str.downcase } puts "条件に一致した要素を削除:#{strresult}" |
downcaseメソッドとは、大文字から小文字に変換できるメソッドです。
詳しくはこちらの記事をご参考ください。
実行結果
Rubyプログラムを実行するやり方は、以下の記事をご参考ください。
[“xyz”, “ABC”, “XYZ”, “ABC”]
■パターン1:ブロックを指定しない場合
重複を削除:[“xyz”, “ABC”, “XYZ”]
■パターン2:ブロックを指定する場合
条件に一致した要素を削除:[“xyz”, “ABC”]
指定した条件の通り、重複している要素が取り除かれていることが確認できました!
まとめ:uniqメソッドを使ってみよう!
以上がuniqメソッドについての解説でした!
uniqメソッドは、配列から簡単に重複した要素を取り除ける便利なメソッドなので、ぜひ使ってみてください!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント