Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】Range::to_a()メソッドの使い方

to_aメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

to_aメソッドは、RubyのRangeクラスのインスタンスに対して呼び出され、そのRangeオブジェクトが表す連続した値の範囲を、新しい配列として取得するメソッドです。

Rangeオブジェクトとは、ある開始値から終了値までの連続した値の範囲を示すためのもので、例えば1..5は数値の1から5までを、'a'..'e'はアルファベットの'a'から'e'までといった具合に、さまざまな型の範囲を表現できます。to_aメソッドを利用すると、このRangeオブジェクトに定義されたすべての要素が、順序を保ったまま新しい配列(複数の値を順序付けて格納するデータ構造)として生成されます。

具体的な例として、1..5というRangeオブジェクトにto_aメソッドを適用すると、[1, 2, 3, 4, 5]という配列が結果として得られます。また、終端の要素を含まない範囲を表す1...5というRangeオブジェクトに対してto_aメソッドを実行した場合は、[1, 2, 3, 4]という配列が生成されます。このように、範囲の定義方法(..が終端を含む、...が終端を含まない)によって、生成される配列の内容が異なります。

このメソッドは、Rangeで指定された範囲内の全ての要素を配列として一度に取得し、その配列に対して繰り返し処理を行ったり、特定の要素を検索したり、他のコレクション操作を実行したりしたい場合に非常に役立ちます。元のRangeオブジェクトはto_aメソッドの実行によって変更されることはなく、常に新しい配列オブジェクトが作成されて返されます。これにより、安全かつ柔軟に範囲データを操作できます。

構文(syntax)

1(1..5).to_a

引数(parameters)

引数なし

引数はありません

戻り値(return)

Array

Rangeオブジェクトの要素を配列として返します。

関連コンテンツ