需要从命令行调用文件

Require a file to be called from the command line

所以我知道如何使用optparser在我的程序中使用命令行来调用特定的方法。但是,有没有一种方法可以在用户需要指定文件才能使命令工作的情况下使用 optparse?例如使用此代码时:

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

用户需要指定程序需要读取的特定文件。

test.rb -b test.txt

有没有办法做到这一点,或者我对 ruby 还是太陌生了,无法完全理解它是如何工作的?

我不知道 optparse,但你也许可以这样做:

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

然后运行命令行中的文件,将文件名作为参数传递。其中 ARGV[0] 对应传递的第一个参数:

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