Rubyにおけるトップレベル

Ruby におけるトップレベルとはなにかについて、そしてトップレベルにメソッドを記述する方法について解説します。

(2022 年 10 月 13 日公開 / 2022 年 10 月 22 日更新)

トップレベルとは

Ruby ではソースコードの一番外側の部分をトップレベルと呼びます。トップレベルには式を記述したり、メソッドを定義したり、クラスを定義したりすることができます。例えばプログラムの中に次のような式を記述した場合は、トップレベルに式を記述したことになります。

puts("Hello")

トップレベルに式を記述した場合、プログラムを実行するとトップレベルに記述された式が順に実行されていきます。

selfとmain

Ruby では self と呼ばれる擬似変数が用意されています。 self をメソッド内で参照すると、そのメソッドを実行しているオブジェクトを参照することが出来ます。

ではトップレベルで self を実行するとどうなるのでしょうか。トップレベルは厳密にはメソッドではないのですが、 self を実行すると main と言うオブジェクトを返します。

puts(self.to_s)

selfとmain(1)

main オブジェクトの元になっているクラスは確認してみます。オブジェクトに対して class メソッドを実行するとそのオブジェクトのクラスを取得できます。

puts(self.to_s)
puts(self.class.to_s)

実行してみると main オブジェクトの元になっているクラスは Object クラスと表示されます。

selfとmain(2)

つまり mainObject クラスのインスタンスです。

トップレベルに定義されたメソッド

メソッドはトップレベルで定義することが出きます。トップレベルで定義したメソッドは Object クラスの private インスタンスメソッドとして定義されます。

Object クラスのインスタンスメソッドであるため、どこからでも呼び出すことができます。トップレベルからもメソッドを呼び出すこともできます。

では次のページ以降でトップレベルでメソッドを定義する方法について確認していきます。

-- --

Ruby におけるトップレベルとはなにかについて、そしてトップレベルにメソッドを記述する方法について解説しました。

( Written by Tatsuo Ikura )

広告
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。