【結論】
・countメソッドは、配列の要素の数を返す。
ブロック引数を指定すると、ブロック内の条件式を繰り返し実行し、
合致する要素の数を返す。
・lengthまたはsizeメソッドは、
文字列中の文字の数を返す。
配列に対して使用すると、要素の数を返す。
・ブロックを繰り返し実行する関係で、
countはlengthやsizeより処理速度が劣る傾向にある。
一方で、ブロック引数でカウント対象を
条件設定できるのはcountだけである。
【目次】
【本題】
配列の要素数を数える方法
Rubyでは、配列の要素数を数える為のメソッドが
3種類用意されています。
今回はそれらの違いと利用用途をまとめます。
count
countメソッドは、ブロック引数を指定すると、
ブロックを要素の数だけ実行し、
ブロックで指定された条件に合致した要素の数を返します。
length、size
lengthとsizeメソッドは、
いずれも同じ機能も持ったメソッドです。
文字列中の文字の数を返します。
配列に対して使用した場合は、配列の要素数を返します。
使い分け
countは引数が指定されていない場合でも、ブロックを繰り返し実行するので、
単純に配列の数を出したい場合は、処理速度の観点で、lengthやsizeの方が優れています。
なお、lengthとsizeに機能的な違いは無い為、
どちらを使うかは、現場のコード規約に従うことになります。
一方で、lengthやsizeでは条件の指定ができない為、
条件を指定したい場合に、countを利用するのが、使い分けといて最適と言えます。
《今日の学習進捗(3年以内に10000時間に向けて)》
学習開始からの期間 :130日
今日までの合計時間:1247h
一日あたりの平均学習時間:9.6h
今日までに到達すべき目標時間:1187h
目標との解離:60h
「10,000時間」まで、
残り・・・「8753時間!」