Rubyでsizeを使う方法を現役エンジニアが解説【初心者向け】
初心者向けにRubyでsizeを使う方法について現役エンジニアが解説しています。sizeメソッドとは対象オブジェクトの長さ( length )や要素数( size ) を調べることができるメソッドであり、要素の形に合わせ使い分けましょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
Rubyでsizeを使う方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
Rubyについてそもそもよく分からないという方は、Rubyとは何なのか解説した記事を読むとさらに理解が深まるでしょう。
なお本記事は、TechAcademyのオンラインブートキャンプRuby講座の内容をもとに紹介しています。
今回は、Rubyに関する内容だね!
どういう内容でしょうか?
Rubyでsizeを使う方法について詳しく説明していくね!
お願いします!
sizeとは
sizeメソッドとは、使用すると対象オブジェクトの長さ( length )や要素数( size ) を調べることができます。
sizeメソッドは対象オブジェクトのサイズ( size )/長さ( length )を返すことが可能です。
sizeメソッドを使う利点と使われるケース
size メソッドを使うことで、対象オブジェクトのサイズ( size )/長さ( length )を簡単に調べることが可能です。
- 配列やハッシュや範囲オブジェクトの場合は要素数を返します。
- 文字列の場合は文字数を返します。
- 整数の場合は実装バイト数を返します。
- ファイルの場合はファイルサイズを返します。
lengthやcountとの違い
count メソッドは引数と「合致する要素の数( count )」を返し、引数を指定しない場合は単純に要素数を返すものです。
ブロック式を引数にした場合は、評価の合致した要素の数( count )を返します。
そして、size / length メソッドが単純に「サイズ・長さ」を返すのに対して、 countメソッドは「条件に合致した要素の数」を返す点が異なります。
sizeを使う方法
以下の形式で対象オブジェクトの要素数を調べることが可能です。
配列オブジェクト.size 文字列オブジェクト.size ハッシュオブジェクト.size 範囲オブジェクト.size 整数オブジェクト.size ファイルオブジェクト.size
また、配列やハッシュや範囲オブジェクトの場合は要素数、文字列の場合は文字数を返します。
整数の場合は実装バイト数、ファイルの場合はファイルサイズを返します。
実際に書いてみよう
以下、サンプルコードです。
# 文字列の場合は文字数を返します。 # 半角スペースも1文字として評価されます。 puts "h e l l o ".size #=> 10 # 配列やハッシュ、範囲の場合は要素数を返します。 puts [1, 2, 3, 4, 5].size #=> 5 puts ( {1 => 10, 2 => 20}.size ) #=> 2 puts (1..5).size #=> 5 # count メソッドはブロック式に合致する要素数を返します。 puts [1,2,3,4,5,1,2].count(1) #=> 2 puts [1,2,3,4,5,1,2].count {|i| i == 2} #=> 2 puts "hello".count("l") #=> 2 puts ( {1 => 10, 2 => 20}.count {|k,v| v == 20} ) #=> 1 puts (1..5).count(1) #=> 1 __END__
実行結果
#=> 9 5 2 5 2 2 2 1 1
まとめ
今回はsizeメソッドについて学び、以下のことを学習できました。
- sizeメソッドは対象オブジェクトの要素数を返す。
- sizeメソッドとlengthメソッドはほぼ等価。
- countメソッドは条件に合致する要素数を返す。
要素数を調べる場合には、sizeメソッドを使用していきましょう。
執筆してくれたメンター
メンター古川さん
Rubyが得意で、Webエンジニアとして最上流から最下流までセルフスターターとして活躍してきました。 近年セミリタイアし、フリーランスとして適度に働きながら穏やかな生活を楽しでいます。 |
Rubyでsizeを使う方法がよく分かったので良かったです!
ゆかりちゃん、今後も分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でも、Ruby on Railsを使ったプログラミングを習得できるオンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので、参加してみてください。