LoginSignup
0
0

More than 3 years have passed since last update.

Ruby length,size,count使い方

Posted at

はじめに

学習用のメモになります。
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メソッドの使い方について学習しました。
もし間違っているところがあればご指摘いただけると幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0