Rubyのto_aメソッドの使い方をを現役エンジニアが解説【初心者向け】

初心者向けにRubyのto_aメソッドの使い方について現役エンジニアが解説しています。to_aメソッドとは、レシーバー自身を返すメソッドです。また、オブジェクトが配列の時には、配列自身を返します。配列同士をつなげるサンプルと範囲オブジェクトの例を解説します。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

Rubyのto_aメソッドの使い方について解説します。

Rubyについてそもそもよく分からないという方は、Rubyとは何なのか解説した記事をまずご覧ください。

 

なお本記事は、TechAcademyのWebアプリケーションオンラインブートキャンプの内容をもとに紹介しています。

田島悠介

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

大石ゆかり

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

田島悠介

Rubyのto_aメソッドの使い方について詳しく説明していくね!

大石ゆかり

お願いします!

 

to_aメソッドとは?

to_aメソッドとは、レシーバー自身を返すメソッドです。Arrayのサブクラス(Arrayクラスを継承しているクラス)に対して使用する場合は、配列に変換されたものを返します。

よく範囲オブジェクトを、配列に変換する際に使用します。基本的なメソッドなのでしっかり押さえましょう。

to_aの書き方

to_aメソッドは、以下のように使用します。

object.to_a

 

オブジェクトが配列の時には、配列自身を返します。

範囲オブジェクト(例えば、1..5,’a’..’z’など)である時には、配列に変換したものを返します。hashに対しても使用することが可能で、2次元の配列に変換されたものを返します。

[PR] Rubyのプログラミングで挫折しない学習方法を動画で公開中

実際に書いてみよう

今回は配列と配列をくっつける、範囲オブジェクトを配列に変換する、の2つの処理をto_aメソッドを使って書いて見ようと思います。

では、配列をくっつける処理を書いていきます。

def join_arrays(a1,a2)
  a1.to_a + a2.to_a
end

array1 = [10,20,30]
array2 = [40,50,60]

p join_arrays(array1,array2) 

 

実行結果は以下の通りです。

[10, 20, 30, 40, 50, 60]

次に範囲オブジェクトを配列に変換します。今回は1から10までとaからfまでを変換してみます。

p (1..10).to_a
p ("a".."f").to_a

 

実行結果は以下の通りです。

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
["a", "b", "c", "d", "e", "f"]

 

このように、配列に変換されて返されます。

以上で解説を終わります。

筆者プロフィール

メンター金成さん

フリーランスエンジニア。
Railsの案件を中心に、様々なアプリケーションを開発してます。

使える言語は、ruby python go 。最近はgoにハマってます。

 

大石ゆかり

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

田島悠介

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

大石ゆかり

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

TechAcademyでは初心者でも最短4週間でエンジニアになれるRuby on Railsオンラインブートキャンプを開催しています。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間でオリジナルWebサービスを開発することが可能です。

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