[ruby-list:37734] Re: ARGVがDir.globのような動作をします

From: Koji Arai <JCA02266@...>
Date: 2003-05-29 14:11:57 UTC
List: ruby-list #37734
新井です。

In message "[ruby-list:37733] Re: ARGVがDir.globのような動作をします"
  on 29 May 2003 22:53:01 +0900,
  tsuji.td@ncos.nec.co.jp wrote:
> 辻(忠)です。
> 
> >こんばんわ。橋本です。
> >
> >引数に *.rb とかを指定するとARGVの配列にDir.glob('*.rb')と
> >同じような結果になるのですが、これはこういうものなのでしょうか?
> :
> >D:\Ruby-1.6.8\bin>ruby -e 'p ARGV' *.rb
> >["c2t.rb", "exerb.rb", "runtest.rb", "sqlsh.rb"]
> 
> これはRubyの問題ではなくシェル(この場合はコマンドプロンプトと呼ぶべきか)
> の仕様です。
> 
> 例えば
> 
> aaa.exe *.txt
> 
> を実行場合、aaa.exeには *.txt を展開した内容が引数として渡されます。
> 

っと、Unix ではそうなのですが、Windows のコマンドプロンプト
にはその能力はないので、mswin32版 ruby は自前でワイルドカー
ドを展開します。これを避けるには、引数を '..' で囲んでくださ
い。

http://www.ruby-lang.org/ja/man/index.cgi?cmd=view;name=Ruby%A4%CE%B5%AF%C6%B0

でも触れてます。

cygwin 版でも cygwin のプログラムから起動されない場合は、や
はり自前で(これはcygwin1.dll が)ワイルドカード展開します。
なので、cygwin 版 ruby もDOS窓でワイルドカードが使えます。

--
新井康司 (Koji Arai)

In This Thread