• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ruby的optparse使用小记

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
#自定义转换器

1
opts.accept(Hash) do |string| 2 hash = {} 3 string.split(',').each do |pair| 4 key,value = pair.split(/:/) 5 hash[key] = value 6 end 7 hash 8 end 9 opts.on('--custom ATTRS',Hash) do |hash| 10 custom_attributes = hash 11 end 12 A command like foo --custom foo:bar,baz:quux will result in custom_attributes getting the value 13 { 'foo' => 'bar', 'baz' => 'quux' } .

使用小记

 1 #!/usr/bin/env ruby
 2 require 'optparse'
 3 options = {}
 4 option_parser = OptionParser.new do |opts|
 5 # 创建option -switch
 6 #Option 作为switch,不带argument,用于将 switch 设置成 true 或 false
 7   opts.on("-i", "--iteration") { options[:iteration] = true }
 8 
 9 
10 # 创建optin -flag
11   opts.on("-u USER", /^(.+)\.(.+)$/) do |user|
12     options[:user] = user
13   end
14   opts.on("-p PASSWORD", "--uname ppp") do |password, ppp|
15 
16     options[:uname] = ppp
17     options[:password] = password
18   end
19 
20 #hash
21   servers = {dev: '127.0.0.1',
22              qa: 'qa001.example.com',
23              prod: 'www.example.com'}
24   opts.on('--server SERVER', servers) do |address|
25     options[:address]=address
26   end
27 
28 #default true or false
29   opts.on('--[no-]verbose') do |flg|
30     options[:flg]=flg
31   end
32 # Option 作为 flag,带一组用逗号分割的arguments,用于将arguments作为数组解析
33   opts.on('-a A,B', '--array A,B', Array, 'List of arguments') do |value|
34     options[:array] = value
35   end
36 end
37 
38 option_parser.parse!
39 puts options.inspect

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
ruby koans:tdd方式学习ruby发布时间:2022-07-14
下一篇:
ruby+selenium-webdriver一步一步完成自动化测试-----准备篇发布时间:2022-07-14
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap