擬似変数__FILE__

擬似変数__FILE__は現在のソースファイル名です。
「__FILE__と$0との比較」を「このスクリプトが直接実行されたかどうか」の判断に使うというイディオムがあります。以下に例を示します。

class Greeting
  def initialize(name="Rubyco")
    @name = name
  end
  def hello
    puts "Hello, #{@name}!"
  end
end

if __FILE__ == $0
  g = Greeting.new
  g.hello
  g = Greeting.new("Alice")
  g.hello
end
__END__