*目次 [#j3bdc635]
#contents

*外部コマンドの実行 [#b53f154a]
-[[Rubyで外部コマンドを実行して結果を受け取る方法あれこれ - Qiita:http://qiita.com/tyabe/items/56c9fa81ca89088c5627]]
-通常バッククォートで囲んで実行かsystemで事足りる。
*スクリプトの情報[#r7c57500]

**実行中のスクリプトのパス [#t9de67f1]
__FILE__で参照できる。
#pre{{
p __FILE__
}}
d:\tempにtest.rbとして保存して実行。
#pre{{
D:\temp>ruby test.rb
"test.rb"
}}

**実行中スクリプトの絶対パス [#b569caf5]
File.expand_path(__FILE__)で相対パスを展開すればフルパスが得られる。
#pre{{
p File.expand_path(__FILE__)
}}
test.rbがフルパスに変換される。
#pre{{
D:\temp>ruby test.rb
"D:/temp/test.rb"
}}

**実行中スクリプトのディレクトリ [#i46f039f]
File.expand_path(__FILE__)した後File.dirnameでディレクトリ名を取得する
#pre{{
p File.dirname(File.expand_path(__FILE__))
}}
実行。
#pre{{
D:\temp>ruby test.rb
"D:/temp"

}}

*スクリプトの起動 [#n05fff15]

**ライブラリと起動可能スクリプトを兼用する [#o4fee885]
"__FILE == $0"という条件を使って、ライブラリのrbを実行させることも可能。次のようにクラスをためしに実行してみたいときに使える。

#pre{{
class Foo
  def hello
    p "hello"
  end
end

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

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS