2016-11-28 9 views
0

optparserを使用してコマンドラインを使用してプログラム内の特定のメソッドを呼び出す方法を知っています。しかし、コマンドを動作させるためにファイルを指定する必要があるところで、optparseを使う方法はありますか?たとえば、このコードを使用する場合のように:ファイルをコマンドラインから呼び出すことを要求する

test.rb  
#!/usr/bin/ruby 
read = File.readlines(file) 
puts read 

ユーザーは、プログラムが読む必要がある特定のファイルを指定する必要があります。

test.rb -b test.txt 

これを行う方法はありますか、それがうまくいくかを完全に理解するためにはまだまだ新しくなっていますか?

+0

'ARGV'はあなたの友人かもしれません。 –

+0

ARGV?私は数回それを見てきましたが、私はまだその仕事の仕方を理解していません。あなたは私に例を教えていただけますか? – yukimoda

答えて

1

私は約optparseを知らないが、あなたは、このおそらくのような何かを行うことができます:

#test.rb  
#!/usr/bin/ruby 
file = ARGV[0] 
read = File.readlines(file) 
puts read 

は、コマンドラインでファイルを実行し、ファイル名を引数として渡します。 ARGV [0]が渡された最初の引数に対応する場合:

+0

それはどんな種類のファイルでも動作しますよね?私が遅くなって来るのは申し訳ありませんが、私が前に述べたように、私はARGVの仕組みをよく理解していません。 – yukimoda

+0

はい、どんなファイルでも動作します。上の答えで私はスクリプトファイル自体を選択しました。別のファイルで試してみてください。上記の例に従えば、読み込まれるファイルがスクリプトと同じディレクトリにあることを確認してください。 –

+0

私は、ありがとう! – yukimoda

関連する問題