目次

スクリプトの情報

実行中のスクリプトのパス

__FILE__で参照できる。

p __FILE__

d:\tempにtest.rbとして保存して実行。

D:\temp>ruby test.rb
"test.rb"

実行中スクリプトの絶対パス

File.expand_path(__FILE__)で相対パスを展開すればフルパスが得られる。

p File.expand_path(__FILE__)

test.rbがフルパスに変換される。

D:\temp>ruby test.rb
"D:/temp/test.rb"

実行中スクリプトのディレクトリ

File.expand_path(__FILE__)した後File.dirnameでディレクトリ名を取得する

p File.dirname(File.expand_path(__FILE__))

実行。

D:\temp>ruby test.rb
"D:/temp"

スクリプトの起動

ライブラリと起動可能スクリプトを兼用する

"__FILE == $0"という条件を使って、ライブラリのrbを実行させることも可能。次のようにクラスをためしに実行してみたいときに使える。

class Foo
  def hello
    p "hello"
  end
end

if __FILE__ == $0
  foo = Foo.new
  foo.hello
end
  

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS