博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ruby的optparse使用小记
阅读量:4650 次
发布时间:2019-06-09

本文共 1456 字,大约阅读时间需要 4 分钟。

#自定义转换器  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 = hash11 end12 A command like foo --custom foo:bar,baz:quux will result in custom_attributes getting the value13 { '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 -flag11   opts.on("-u USER", /^(.+)\.(.+)$/) do |user|12     options[:user] = user13   end14   opts.on("-p PASSWORD", "--uname ppp") do |password, ppp|15 16     options[:uname] = ppp17     options[:password] = password18   end19 20 #hash21   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]=address26   end27 28 #default true or false29   opts.on('--[no-]verbose') do |flg|30     options[:flg]=flg31   end32 # Option 作为 flag,带一组用逗号分割的arguments,用于将arguments作为数组解析33   opts.on('-a A,B', '--array A,B', Array, 'List of arguments') do |value|34     options[:array] = value35   end36 end37 38 option_parser.parse!39 puts options.inspect

 

转载于:https://www.cnblogs.com/or2-/p/5291809.html

你可能感兴趣的文章
BZOJ 1613: [Usaco2007 Jan]Running贝茜的晨练计划
查看>>
ubuntu 重启命令,ubuntu 重启网卡方法
查看>>
Linux的学习:
查看>>
JavaScript中的原型继承原理
查看>>
Python logger模块
查看>>
jquery控制css的display(控制元素的显示与隐藏)
查看>>
关于python做人工智能的一个网页(很牛逼)
查看>>
判断控件的CGRect是否重合,获取控件的最大XY值
查看>>
POJ-1128 Frame Stacking
查看>>
浏览器调试淘宝首页看到有趣的招聘信息
查看>>
hdu 3996
查看>>
python第三十九课——面向对象(二)之初始化属性
查看>>
python学习笔记之函数装饰器
查看>>
FEM计算2D瞬态热传导方程
查看>>
四年时光,匆匆而过
查看>>
GET请求在Tomcat中的传递及URI传递
查看>>
软工网络15团队作业2——团队计划
查看>>
mysql 数据库远程访问设置方法
查看>>
Far manager界面混乱问题解决
查看>>
java读取xml文件
查看>>