こんにちは。たいら(@tairaengineer2)です。
転職を繰り返し現在4社経験している、12年目エンジニアです。
この記事では、 Rubyで配列からnilの要素を取り除くことができるArray.compactメソッドについて
- Array.compactメソッドとは
- Array.compactメソッドを使ったサンプルプログラム
と、この記事で丁寧に解説していきます。
前提条件:実行環境について
実行環境は以下の通りです。
OS | Windows10 |
---|---|
Rubyのバージョン | 2.6.6 |
Rubyのインストールは、下の記事をご参考ください。
Array.compactメソッドとは
Array.compactメソッドとは、呼び出している配列の要素からnilの要素のみを取り除いた配列を返すメソッドです。
空の要素は取り除かれません。
使い方サンプルは以下です。
1 2 |
sample = ['hoge', nil, 'hoge'] result = sample.compact |
上記の例だとresultには
1 |
["hoge", "hoge"] |
という配列が返されます。
では、次の章で実際に使ってみます。
Array.compactメソッドを解説するプログラムの概要
Array.compactメソッドを解説するプログラムでは、
- 配列の要素が文字列とnilで構成されている配列
- 配列の要素が文字列と空とnilで構成されている配列
- 空の配列
の3パターンでArray.compactメソッドを使い、結果を表示させます。
Rubyサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
puts "■compactメソッドサンプル" # 配列の要素が文字列とnilで構成されている配列にcompactメソッドを実行 puts "・配列の要素が文字列とnil" samplearray = ['バニラ', nil, 'アイス', nil, nil, 'クリーム'] puts "確認:#{samplearray}" puts "実行:#{samplearray.compact}" puts # 配列の要素が文字列と空とnilで構成されている配列にcompactメソッドを実行 puts "・配列の要素が文字列と空とnil" empelearray = ["カツ", "", nil, "カレー", "", nil, "ライス"] puts "確認:#{empelearray}" puts "実行:#{empelearray.compact}" puts # 空の配列にcompactメソッドを実行 puts "・空の配列" emparray = [] puts "確認:#{emparray}" puts "実行:#{emparray.compact}" |
実行結果
Rubyプログラムを実行するやり方は、以下の記事をご参考ください。
1 2 3 4 5 6 7 8 9 10 11 12 |
■compactメソッドサンプル ・配列の要素が文字列とnil 確認:["バニラ", nil, "アイス", nil, nil, "クリーム"] 実行:["バニラ", "アイス", "クリーム"] ・配列の要素が文字列と空とnil 確認:["カツ", "", nil, "カレー", "", nil, "ライス"] 実行:["カツ", "", "カレー", "", "ライス"] ・空の配列 確認:[] 実行:[] |
配列からnilの要素だけが取り除かれていることが確認できました!
まとめ:Array.compactメソッドを使ってみよう!
以上がArray.compactメソッドについての解説でした!
あなたのご参考になったのなら、とても嬉しいです(*´▽`*)
ではでは~(・ω・)ノシ
コメント