zoukankan      html  css  js  c++  java
  • ruby的optparse使用小记

    #自定义转换器

    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
  • 相关阅读:
    DV型、OV型、EV型证书的主要区别
    HTTPS混合内容解析
    Resin 4.0 部署SSL证书
    中间证书的使用
    IBM LOTUS DOMINO 9 部署SSL证书
    F5部署SSL证书
    百度云部署SSL证书
    阿里云部署SSL证书
    加密,解密web.config数据库连接字符串
    不记得oracle管理员密码,更改oracle sys密码的方法
  • 原文地址:https://www.cnblogs.com/or2-/p/5291809.html
Copyright © 2011-2022 走看看