2009-08-27 8 views
6

マイdemo.rbを実行する方法に応じて、窓の上に空にすることができます:これはなぜ起こるかRubyのARGVは、スクリプト

> demo.rb foo bar 
0 

> ruby demo.rb foo bar 
2 
Argument: foo 
Argument: bar 

puts ARGV.size 

ARGV.each do |a| 
    puts "Argument: #{a}" 
end 

結果は、私たちがスクリプトを実行する方法によって異なりますか?そして、これでいくつかのことができますか?

編集: すべての返信に感謝します!ここに私の設定:

>assoc .rb 
.rb=rbFile 

>ftype rbFile 
rbFile="c:\ruby-1.8.6\bin\ruby.exe" "%1" %* 

そうそうです。

"C:\ruby-1.8.7\bin\ruby.exe" "c:\demo.rb" 

お知らせ、1.8.6に関連する.RBが、1.8.7に開始されます。

しかし、私は、このようなコマンドラインで

>demo.rb foo bar 

開始プロセスがあることを発見しました。

だから私は他の何かが台無しになったと思いますか?

答えて

2

ファイルの関連付けを確認してください。特に高度な設定では、 "開く"アクションを見てください。アクションの最後に%*があることを確認してください。

This質問はpowershellについてですが、本質的に同じ質問ですので、私の答えが少し詳細を与えるべきです。

1

引数のようなサウンドは、ファイルタイプの関連付けではルビインタープリタに渡されません。アソシエーションの外観については、this sectionを参照し、自分の身元を確認してください。

8

コマンドウィンドウを開きます:それはrbFile

assoc .rb 

のですか?

ftype rbFile 

Ruby.exeが "%1" %*

によって*が時々不足している%を踏襲していることを確認します。他の記事で述べたように欠けている%*を追加する - FileTypesManager -

3
 
C:\Temp> ftype | grep ruby 
rbFile="c:\opt\ruby\bin\ruby.exe" "%1" %* 
rbwFile="c:\opt\ruby\bin\rubyw.exe" "%1" %* 
0

あなたがNirsoftからフリーウェアのツールを使用することができます。

関連する問題