在Ruby中,是否有一个库可以使命令行脚本更加用户友好,并提示我运行什么?
所以我现在要做的是我的Ruby脚本有很多方法,我必须注释掉我不想调用的方法调用,然后在我的命令行脚本中取消注释我想调用的方法在Ruby中,是否有一个库可以使命令行脚本更加用户友好,并提示我运行什么?,ruby,Ruby,所以我现在要做的是我的Ruby脚本有很多方法,我必须注释掉我不想调用的方法调用,然后在我的命令行脚本中取消注释我想调用的方法 是否有一个Ruby库可以方便地提示用户启动哪个函数?您可以使用ARGV迭代程序的参数。还有,它是一个库,用于以与传统Unix实用程序类似的方式处理命令行参数。如果您想要在源文件中有选择地执行特定方法的代码,则需要编写一个调度表来获取输入并调用所需的任何例程 对于程序员来说,这些都是非常标准的东西,并且易于使用和创造性地使用语句。如果您需要在脚本执行过程中真正提示用户的东西
是否有一个Ruby库可以方便地提示用户启动哪个函数?您可以使用
ARGV
迭代程序的参数。还有,它是一个库,用于以与传统Unix实用程序类似的方式处理命令行参数。如果您想要在源文件中有选择地执行特定方法的代码,则需要编写一个调度表来获取输入并调用所需的任何例程
对于程序员来说,这些都是非常标准的东西,并且易于使用和创造性地使用语句。如果您需要在脚本执行过程中真正提示用户的东西,您可以包装需要提示的方法:
module Confirmable
def confirm_first *methods
methods.each do |meth|
alias_method "orig_#{meth}", meth
define_method meth do |*args, &block|
print "Execute #{meth}?[Yn] "
s = gets.chomp
return if s.downcase == 'n'
send "orig_#{meth}", *args, &block
end
end
end
end
class MyClass
extend Confirmable
def foo arg
puts "starting foo"
puts arg
end
confirm_first :foo
end
c = MyClass.new
c.foo "bar"
这样,您用
confirm\u first
标记的每个方法在实际执行之前都会首先要求您进行确认。我已经使用了选项解析器好几次,并且会说这绝对是正确的方法。有关正在使用的it的示例,请参见。