根据这篇文章,RDoc::usage 目前在 ruby 1.9 中不可用。有没有好的替代品?
我很想听听标准安装中可用的内容以及 gems 中可用的内容。
我喜欢OptionParser(文章提到RDoc::usage
的对补充有用的东西)。
看起来任何 1.9 的错误都已被修补。
在特性请求 2713中,rdoc 维护者声明他不会将 rdoc/usage 或任何类似特性添加回 rdoc,并表示应该使用 OptionParser。
我们对所有新脚本都使用 OptionParser,但有大约 100 多个使用 RDoc。我没有重写每一个,而是写了这个方法(BB 是我们公司的命名空间。把它改成你喜欢的任何东西)。它工作得很好。语法略有不同,但它的帮助文本所以我们不介意。希望能帮助到你!
然后我使用 sed 查找所有脚本并更改它们。
grep -rl "RDoc::usage" * | xargs sed -i "/rdoc\/usage/ s/RDoc/BB/"
grep -rl "BB::usage" * | xargs sed -i "/rdoc\/usage/ s/rdoc/lib\/bb/"
-
module BB
def BB::usage( exit_code )
File::open( $0, 'r').readlines.each_with_index do | line, idx |
next if idx == 0
if( line =~ /^#/ )
puts line.gsub(/^#\ ?/,'')
else
puts #RDoc adds extra line so we do too
exit( exit_code )
end
end
end
end