{category}

Ruby - 配列操作

compact

コンパクト(言語の基礎

意味 nilを除去する配列メソッド


compactとは?

compactメソッドは、配列から全てのnilの要素を取り除いた新しい配列を返します。元の配列は変更されません。配列をよりコンパクトにまとめるのに便利なメソッドです。

compactの具体的な使い方

nilを除去する基本的な例

array = [1, nil, 2, nil, 3, "", false]
compact_array = array.compact

puts "元の配列: #{array}"
puts "compactした配列: #{compact_array}"

👇出力結果

元の配列: [1, nil, 2, nil, 3, "", false]
compactした配列: [1, 2, 3, "", false]

この例では、配列からnilを除去しています。空文字列('')やfalseは除去されないことに注意してください。

ネストした配列でのcompactの使用

nested_array = [1, [2, nil], [3, [4, nil]], nil]
compact_nested = nested_array.compact

puts "元のネストした配列: #{nested_array}"
puts "compactしたネストした配列: #{compact_nested}"

👇出力結果

元のネストした配列: [1, [2, nil], [3, [4, nil]], nil]
compactしたネストした配列: [1, [2, nil], [3, [4, nil]]]

この例では、ネストした配列の最上位レベルのnilのみが除去されることを示しています。内部の配列のnilは影響を受けません。

compactに関するよくある質問

Q. compactは元の配列を変更するか?
A. いいえ、compactは元の配列を変更せず、新しい配列を返します。元の配列を変更したい場合はcompact!メソッドを使用します。
Q. compactは空文字列も除去するか?
A. いいえ、compactはnilのみを除去します。空文字列('')やfalseは除去されません。
Q. compactの戻り値が空の場合は?
A. 全ての要素がnilだった場合、compactは空の配列[]を返します。

compactが学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、Rubyのcompactやyield、abs、|、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


Rubyを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!Rubyはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

yield

ブロックを呼び出す

種類: メソッド定義と呼び出し

abs

数値の絶対値を取得する

種類: 数値操作

|

ビット単位のOR演算子

種類: 演算子

Symbol

名前を表す軽量なオブジェクト

種類: 特殊データ型

Ractor.new

並列実行単位の作成

種類: Ractor