はじめに
学習用のメモになります。
rubyでは配列の要素数を取得するためにlengthメソッド、またはsizeメソッドを使用します。
また、条件を指定して配列の要素を取り出すにはcountメソッドを使用すると便利です。
この記事では、基本的な使い方を学習していきます。
lengthメソッド
配列に入っている要素の数を知りたい場合は「lengthメソッド」か「sizeメソッド」を使用しますが、lengthにはarrayクラスとstringクラスの二種類があります。
arrayクラスのlengthメソッドは配列に対して使用し、配列の要素数を返します。
また、strignクラスのlengthメソッドは文字列が入っている変数に対して使用すると文字の数を返します。
array = ["red","blue","yellow"]
str = "エンジニア"
p array.length
p str.length
[実行結果]
3
6
sizeメソッド
sizeメソッドはlengthメソッドとまったく同じ結果を返します。
array = ["red","blue","yellow"]
str = "エンジニア"
p array.size
p str.size
[実行結果]
3
6
countメソッド
配列の要素を条件付きで数えたい場合はcountメソッドを使用します。
引数に条件を指定することで条件に合った要素の数だけを取得できます。
“red”の要素数が知りたい場合、
array = ["red","blue","yellow","red","green"]
p array.count("red")
[実行結果]
2
他にも引数にブロックを渡すことで少し複雑な条件を指定することもできます。
要素を2で割った余りが0の数、つまり偶数の数を数えてみましょう。
array = [1,2,2,2,3,3,4,5,]
p array.count{ |num| num % 2 == 0}
[実行結果]
4
また、引数を指定しないでcountメソッドを使用した場合はlengthやsizeと同じように要素数を返します。
countでnil(空の要素)を除いた要素数を数える方法
配列にnilが入っていた場合、nilをカウントしたくない!という時にはcountメソッドに条件を指定します。
array = ["red","blue",nil,"yellow"]
p array.count{ |num| !num.nil? }
[実行結果]
3
最後に
今回は length,size,countメソッドの使い方について学習しました。
もし間違っているところがあればご指摘いただけると幸いです。