- Home ›
- Ruby入門 ›
- 配列(Array)クラス ›
- HERE
要素が「nil」のものを取り除く
広告
配列に格納されている要素の中で「nil」のものを取り除く方法を確認します。Arrayクラスで用意されている「compact」メソッドを使います。
Arrayオブジェクト.compact
「compact」メソッドは配列に含まれる要素の中で「nil」である要素を取り除いた新しい配列を返します。
具体的には次のように記述します。
ary = [1, 2, nil, 3, 4, nil] newary = ary.compact
この場合、配列から「nil」の要素を取り除いた次の新しい配列を取得します。
[1, 2, 3, 4]
また「compact」メソッドには「compact!」メソッドも用意されています。
Arrayオブジェクト.compact!
「compact!」メソッドの場合には新しい配列を返すのではなく、対象の配列自身を「nil」要素を取り除いた配列に変更します。
サンプルプログラム
実際に試してみます。
#! ruby -Ks ary = [1, 2, 3, nil, 4, nil] newary = ary.compact p ary p newary ary = [1, 2, 3, nil, 4, nil] ary.compact! p ary
実行結果は次のようになります。
( Written by Tatsuo Ikura )