加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 通过命令行传递数组

发布时间:2020-12-17 01:50:12 所属栏目:百科 来源:网络整理
导读:我有一个名为foobar.rb的 Ruby脚本,它接受多个参数. 我希望(可选)能够在命令行上指定一个整数数组,并能够将它们作为单个选项进行处理.我认为我的命令行看起来像这样: foobar.rb [1,2,3] 在1-10的范围内,我对Ruby的了解可能大约是6.只要知道可能有一种简单的
我有一个名为foobar.rb的 Ruby脚本,它接受多个参数.

我希望(可选)能够在命令行上指定一个整数数组,并能够将它们作为单个选项进行处理.我认为我的命令行看起来像这样:

foobar.rb [1,2,3]

在1-10的范围内,我对Ruby的了解可能大约是6.只要知道可能有一种简单的方法可以实现这一点,但还不足以知道它是什么,甚至不知道在文档中查找的位置.

如何解析这个以逗号分隔的整数列表,最后在代码中使用数组?如果存在这样的解决方案,我更喜欢一种不需要添加任何外部库的idomatic,1-liner解决方案.

解决方法

我会自己使用optparse,像这样:

require 'optparse'

options = {}

OptionParser.new do |opts|
  opts.banner = "Usage: #{$0} [options]"

  opts.on("-a","--argument a,b,c",Array,"Array of arguments") { |a| options[:array] = a.map { |v| v.to_i } }
end.parse!

puts options.inspect

  => {:array=>["1","2","3","4"]}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读