ruby的optparse使用小记

 2023-09-11 阅读 21 评论 0

摘要:#自定义转换器 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
#自定义转换器

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

 

opt可以脱毛吗、转载于:https://www.cnblogs.com/or2-/p/5291809.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/45577.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息