私はRails 4.2.7を使用しています。 Iは、配列内の要素のいずれかがゼロである場合は、上記離れ落ちる私のアレイ非nil要素にのみ関数を適用するにはどうすればよいですか?
data_cols = data_cols.collect{|x| x.strip || x }
に(ストリップ)トリムこの簡潔な機能文字列を有しています。上記を変更して、nil要素には適用されないようにするにはどうすればよいですか?あなたはすべて残しておきたい場合は
cols.compact.map { |col| col.strip }
# or
cols.compact.map(&:strip)
:あなたは完全に配列からnil
値を削除したい場合は
私はあなたが[安全なナビゲーション演算子](http://mitrev.net/ruby/2015呼ばうれしいです/ 11/13/the-operator-in-ruby /)を使用します。いくつかの点:1) 'col && col.strip || col'を 'col && col.strip'に単純化することができる、2)' [false] .map {| col |もしあなたが 'nil'を取り除くことについて言及されていないので、あなたは答えの最初の部分をストライキは "すべての値を保持するが、"。 –
@CarySwoveland 1)良いキャッチ;更新しました。 2)固定。 3)このタイプの質問のより広い文脈では便利だと思います。この文脈で共通の ' .to_proc'というイディオムを説明する機会を提供します。乾杯! –
coreyward