Ruby是否支持POD文档或任何替代方案?
我很有意思,因为我不知道如何提供一些简单的' -h'选项帮助。也许我在这里错了,拜托,给我很好的例子。
我的例子:
$ ruby rubyScript.rb -h
This message is shown if you pass parameter -h.
我的实现将是:
require 'optparse'
def HelpMessage()
puts <<-__HELP__
This message is shown if you pass parameter -h.
__HELP__
end
OptionParser.new do |opts|
opts.banner = "Usage: rubyScript.rb [options]"
opts.on('-h', '--help', 'Help option') { HelpMessage(); exit()}
end.parse!
我认为这是一个有点难看的代码,但我不知道另一种创建简单帮助的方法
答案 0 :(得分:4)
OptionParser比你想象的容易得多。
将其保存到文件中:
require 'optparse'
options = {}
OptionParser.new do |opts|
opts.banner = "Usage: rubyScript.rb [options]"
opts.on('-i', '--input FILE', 'Input file') { |o| options[:input] = o }
opts.on('-o', '--output FILE', 'Output file') { |o| options[:output] = o }
options[:help] = opts.help
end.parse!
puts options[:help]
运行没有选项的输出将输出:
Usage: rubyScript.rb [options]
-i, --input FILE Input file
-o, --output FILE Output file
这意味着您可以在需要时以编程方式显示帮助。
取出界限:
puts options[:help]
并使用-h
选项再次运行它会显示相同的内容,表明OptionParser会自动提供-h
和--help
选项,除非覆盖这些选项。
Ruby是否支持POD文档或任何替代方案?
是的,但在这种情况下,除非您希望用户在使用您的应用程序之前真正花时间阅读您的文档,否则这对您没有帮助。 Ruby的RDoc可以很好地解析你的代码并提取各种程序员的脚本信息。请参阅the RDoc example page&#34;示例&#34;工作的部分...呃...例子。 RDoc包含在Ruby中,除非您使用yum / apt-get安装,在这种情况下,您可能需要安装RDoc / ri软件包。 ri
是Ruby的内置文档,可以在命令行显示代码的帮助,其源文件由rdoc
创建。
答案 1 :(得分:0)
将此行放在代码顶部:
(puts "This message is shown if you pass parameter -h."; exit) if ARGV.first == "-h"