一。用命令行的ARGV 和ARGF和ENV
写一些工具类和脚本的时候总是要用到合理的命令行参数解析,稍微复杂一点就不能用ARGV了。
关于这两个的简单用法,请看一篇文章。
二。找个好用的工具吧~
require 'optparse'
这个工具感觉不是太好用。
三。使用trollop工具
这个工具很好用哦,能力也很强,可以解析形式如svn命令行一样的参数,如svn delete xxx_files
这个工具现在的缺点,如果说是的话,就是参数和值不能连写,例如 -f xxx_file_name 这么写没有问题,但是如果写为 -fxxx_file_name 那么解析不出来。不过这不算是问题了,你可以处理一下,把这种形式的参数分开就ok了~
看个例子:
Examples
Simple
require 'trollop'
opts = Trollop::options do
opt :monkey, "Use monkey mode" # flag --monkey, default false
opt :goat, "Use goat mode", :default => true # flag --goat, default true
opt :num_limbs, "Number of limbs", :default => 4 # integer --num-limbs <i>, default to 4
opt :num_thumbs, "Number of thumbs", :type => :int # integer --num-thumbs <i>, default nil
end
p opts # a hash: { :monkey => false, :goat => true, :num_limbs => 4, :num_thumbs => nil }
#注意
#1 默认是boolean类型的,所以只需要-m 不需要后面的值;
# 如果没有-m,这用默认值;如果没有默认值,则默认是false
#2 如果给值了,则结果的hash会多一个键值对,在键名为:xxx_given,值为:true
-
Trollop::options
returns a hash of values. That's all the
output you get.
- Underscores are converted to dashes. opt :hello_there
corresponds to an option --hello-there
.
- All options are taken to be boolean flags, defaulting to false,
unless you specify a default or a type. The type will be inferred from
the default if given, so no need to specify both.
- Short (one-character) option names are created automatically. You
can set them manually with :short
.
更详细的使用文档,看官方吧~
http://trollop.rubyforge.org/
http://all-thing.net/label/trollop
分享到:
相关推荐
利用这些工具,我们可以创建一个名为`xcprofiler`的CLI,它能接收命令行参数,例如项目路径、配置选项等,然后进行以下操作: 1. **分析编译时间**:`xcprofiler`可以连接到Xcode的构建系统,记录每个目标的编译...
通过以上步骤,我们可以构建一个功能丰富的Ruby命令行工具。Ruby的生态系统提供了许多库和工具,如`Thor`, `Slop`, 或者`GLI`,它们可以帮助我们更高效地构建CLI工具,提供更复杂的命令结构和更友好的用户界面。不断...
Ruby-RDoc是Ruby编程语言中一个非常重要的工具,主要用于生成项目的HTML和命令行文档。它使得开发者能够方便地创建清晰、结构化的代码注释,进而自动生成易于理解的API文档,帮助其他开发者理解和使用项目。在Ruby...
1. **命令行参数处理**:Ruby的`OptionParser`库或`ARGV`全局数组可以帮助解析命令行参数,根据用户提供的选项进行相应操作。 2. **HTTP请求与解析**:为了与torrent搜索引擎交互,需要使用如`Net::HTTP`库发送HTTP...
总结来说,Ruby的Main库是一个强大的工具,它通过DSL简化了命令行程序的开发,使得定义命令、处理参数和选项变得更加直观和高效。如果你经常需要创建CLI工具,或者希望提升你的Ruby CLI项目开发体验,Main库是一个...
在开发过程中,经常需要通过命令行发送HTTP请求,Ruby提供了多种方式来实现这一需求,其中 `curl` 是一种常见的工具。 **示例代码:** ```bash curl -d "channel=中信异度支付&action_type=娱人节-手机充值&user_...
- **命令行参数**: 如何在Ruby脚本中处理命令行参数,这对于编写命令行工具非常有用。 ##### 2. 类、对象和变量 - **对象和属性**: Ruby中的一切都是对象,对象具有状态和行为,可以通过定义类来创建对象。 - **类与...
- **交互式命令行:** Ruby提供了一个交互式的命令行工具,即`irb`(Interactive Ruby Shell)。在终端中输入`irb`即可启动该环境。 - **版本查询:** 要查看当前安装的Ruby版本,可以在终端输入`ruby --version`,...
2. **命令行工具**:Ruby也常用于编写简单的命令行工具,可以学习如何使用OptionParser或Slop库处理命令行参数。 3. **文件操作**:Ruby提供强大的文件和目录操作API,案例可能包括读写文件,遍历目录,或者处理...
- **命令行参数**:说明如何处理命令行传入的参数。 #### 3. **类、对象与变量** - **对象属性**:深入探讨对象的概念及属性设置。 - **类与其他类的交互**:讨论类之间的继承关系和其他高级用法。 - **访问控制**...
- IRB(Interactive Ruby):命令行工具,用于交互式地运行Ruby代码。 - Pry:增强版的IRB,提供更强大的调试功能。 - RSpec:行为驱动开发的测试框架,用于编写可读性强的测试用例。 - Test::Unit:内置的单元...
3. **ActionController**:处理HTTP请求和响应,负责路由、参数解析、数据验证和响应生成。开发者可以定义控制器方法来处理特定的HTTP请求,并通过助手方法来渲染视图或重定向。 4. **ActionView**:负责生成HTML...
总的来说,GetPot是一个功能丰富的开源工具,简化了处理命令行参数和配置文件的工作,使得开发者可以更加专注于应用程序的核心功能开发,而不用花费大量时间在参数解析上。无论是小型脚本还是大型软件项目,GetPot都...
- fxri是Ruby的一个文档查看工具,用于查阅Ruby标准库和第三方库的文档。 **2.3 Ruby-irb** - irb是Ruby的交互式解释器,可以在其中直接执行Ruby代码,非常适合调试和测试小段代码。 **2.4 Ruby-ri** - ri是Ruby...
您好,我是 Claide,您的命令行工具助手。 我出生于对简单选项和命令解析器的需求,同时仍然提供了一个API,可让您快速创建功能全面的命令行界面。 安装 $ [sudo] gem install claide 用法 有关 CLAide API 的完整...
6. **命令行接口**:作为命令行工具,RubyRetriever可能使用了OptionParser或Clikt等库来处理命令行参数,提供用户友好的交互界面。 7. **爬虫框架**:RubyRetriever允许开发者自定义爬取规则,这可能通过定义...
7. **标准库**:Ruby附带了一个丰富的标准库,包含了各种常用的工具和类,如文件操作、网络通信、JSON解析等。 8. **Gem生态系统**:Ruby的Gem是其强大的包管理系统,提供了成千上万的开源库,方便开发者快速构建...
标题 "bilibili自动上传视频(纯ruby)" 指出的是一个使用Ruby编程语言编写的脚本或工具,其主要功能是自动化上传视频到B站(哔哩哔哩,Bilibili)平台。这个工具特别强调了“纯ruby”,意味着它没有依赖其他非Ruby...
"expression-parser:命令行 Ruby 代数方程标记器求解器" 是一个基于 Ruby 语言的工具,它专门设计用于解析和解决简单的数学表达式。这个程序允许用户通过命令行界面输入包含数字、算术运算符(如加、减、乘、除)...