オーダーメイドコース
icon
icon

Rubyで配列の要素数を調べる方法を現役エンジニアが解説【初心者向け】

初心者向けにRubyで配列の要素数を調べる方法について現役エンジニアが解説しています。配列とはArrayクラスのオブジェクトで、複数の値をまとめて扱うことが出来ます。配列の要素数を調べるにはsizeメソッドを使います。配列やハッシュに使うと要素数、文字列に使うと文字数を返してくれます。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

Rubyで配列の要素数を調べる方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

 

Rubyについてそもそもよく分からないという方は、Rubyとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Ruby講座の内容をもとに紹介しています。
 

田島悠介

今回は、Rubyに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Rubyで配列の要素数を調べる方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

配列とは

配列Arrayクラスのオブジェクトです。

「変数」は「入れ物(ダンボール)のようなもの」と説明されますが、この「入れ物(ダンボール)」が複数個つながっている「連結してある入れ物(ダンボール)」をイメージするとわかりやすいかもしれません。
 

配列の要素数を調べる方法

Rubyでsizeメソッドやlengthメソッドを使うと配列や対象オブジェクトの長さ( length )や要素数( size ) を調べることができます。

  • 配列やハッシュや範囲オブジェクトの場合は要素数を返します。
  • 文字列の場合は文字数を返します。
  • 整数の場合は実装バイト数を返します。
  • ファイルの場合はファイルサイズを返します。

以下の形式で配列や対象オブジェクトの要素数を調べることができます。

配列オブジェクト.size
文字列オブジェクト.size
ハッシュオブジェクト.size
範囲オブジェクト.size
整数オブジェクト.size
ファイルオブジェクト.size

 

[PR] 未経験からWebエンジニアを目指す方法とは

実際に書いてみよう

# 配列の要素数を調べます。
# 中身が nil であれっても1要素と数えます。
# 配列がからであれば ゼロを返します。
puts [1, 2, 3, 4, 5].size #=> 5
puts [1, 2, nil, nil, 5].size #=> 5
puts [].size #=> 0
puts [nil].size #=> 1
# 配列やハッシュ、範囲の場合は要素数を返します。
puts [1, 2, 3, 4, 5].size #=> 5
puts ( {1 => 10, 2 => 20}.size ) #=> 2
puts (1..5).size #=> 5
# 文字列の場合は文字数を返します。
# 半角スペースも1文字として評価されます。
puts "h e l l o ".size #=> 10
__END__

 

実行結果

#=>
5
5
0
1
5
2
5
10

 

まとめ

まとめてみしょう。

  • 配列の要素数を調べるときはsizeメソッドを使うと便利。
  • sizeメソッドは配列や対象オブジェクトの要素数を返す。
  • sizeメソッドと length メソッドはほぼ等価。

size メソッドを使うことで簡単に配列の要素数を調べることができましたね。
どんどん活用していきましょう。
 

筆者プロフィール

メンター古川さん

Rubyが得意で、Webエンジニアとして最上流から最下流までセルフスターターとして活躍してきました。

近年セミリタイアし、フリーランスとして適度に働きながら穏やかな生活を楽しでいます。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

TechAcademyでは、初心者でも、Ruby on Railsを使ったプログラミングを習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。