在 Ruby 中解析 gem 式命令行参数的最简单方法

Posted

技术标签:

【中文标题】在 Ruby 中解析 gem 式命令行参数的最简单方法【英文标题】:Easiest way to parse gem-style command line arguments in Ruby 【发布时间】:2011-11-01 19:04:27 【问题描述】:

我想实现 gem 风格的控制台应用程序,当我说 gem(或 apt-get 等)风格时,我的意思是它的调用语法如下:

program.rb verb [argument] [--options ...]

例如

greeter.rb say "Hello world" --bold

我使用过optparse,但我认为它不适合除--option 样式参数之外的任何东西。我错了还是有更合适的库来实现这一点?

【问题讨论】:

【参考方案1】:

我建议不要从头解析;我建议使用GLI,您可以通过它(通过其 DSL)向您的用户提供类似 git 的接口。开始 here 看看它是如何工作的。

您可能也有兴趣在我的一个项目中查看一个真正的(humble)实现。检查这些文件:

https://github.com/empo/RuGPost/blob/master/bin/rugpost https://github.com/empo/RuGPost/blob/master/lib/rugpost/commands.rb https://github.com/empo/RuGPost/blob/master/lib/rugpost/commands/post_commands.rb https://github.com/empo/RuGPost/blob/master/lib/rugpost/commands/project_commands.rb

【讨论】:

以上是关于在 Ruby 中解析 gem 式命令行参数的最简单方法的主要内容,如果未能解决你的问题,请参考以下文章

Ruby:如何安装特定版本的 ruby​​ gem?

ruby Ruby中的简单命令行解析器

解析命令行参数的最佳方法是啥? [关闭]

解析命令行参数的最佳方法是啥? [关闭]

从 unix 命令行进行基本 xml 解析的最简单方法

以前缀表示法从命令行处理参数的最有效方法