Rubyにおけるトップレベル

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

(Last modified: )

トップレベルとは

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

プログラミングや開発環境構築の解説サイトを運営しています。