5-5-1 その他にもたくさんある繰り返し処理の構文やメソッド

その他の繰り返し処理の構文・メソッド

これまでtimesメソッド、eachメソッド、while文を確認しました。Rubyではこれら以外にもたくさんの繰り返し処理のための構文やメソッドがあります。

その他の主な繰り返し処理用構文とメソッドをまとめると以下の通りです。

構文・メソッド 主な動作・用途
until文 while文と逆で条件式がfalseになるまで処理を繰り返す
for文 繰り返す配列やハッシュを代入して繰り返し処理の中で利用する
uptoメソッド 指定した数値の範囲で1ずつ数を増やしながら処理を繰り返す
downtoメソッド 指定した数値の範囲で1ずつ数を減らしながら処理を繰り返す
stepメソッド 指定した数値の範囲で指定した数値の数を増やしながら処理を繰り返す
loopメソッド 無限ループを実行する

Enumerableモジュールが提供する便利なメソッド

Rubyでは標準で組み込まれているメソッドが他にもたくさんあります。

配列やハッシュなどのオブジェクトには、Enumerableモジュールによって便利なメソッドが提供されています。

モジュールとは、便利メソッドを詰め込んだプログラムのひとかたまりのことです(モジュールについての詳細は「9章 モジュールやライブラリを理解する」参照)。

EnumerableモジュールのEnumerableとは、英語で「数え上げることができる」という意味で、配列やハッシュなどeachメソッドが使えるオブジェクトにはあらかじめ組み込まれています。

Enumerableモジュールが提供するメソッドは多く、詳細はRuby リファレンスマニュアルEnumerableモジュールを確認してください。

本サイトでは、代表的なmapメソッドany?メソッドselectメソッドを紹介します。それぞれのメソッドの動作は以下の通りです。

メソッド 動作
map オブジェクトの各要素に処理を加えて新しい配列を返却する
any? オブジェクトの各要素の評価結果に1つでもtrueが含まれていればtrueを返却する
select オブジェクトの各要素から条件に一致するものを集めて新しい配列を返却する

Enumerableモジュール提供のメソッドはちょっと動作のイメージがわきづらいかもしれません。

しかし機能としては強力でいかにもRubyらしい記法とも言えます。次ページ「5-5-2 便利な繰り返し処理を実際に動かしてみよう」を参考に、実際に動かしてみてその便利さを感じてみてください。