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

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

例如
greeter.rb say "Hello world" --bold

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

最佳答案

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

您可能还对在我的项目中查看真实( 不起眼的 )实现感兴趣。检查这些文件:

  • 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 - 在 Ruby 中解析 gem 样式命令行参数的最简单方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7158796/

    10-13 04:21