ruby - 在 Ruby 中组合 3 个并行数组的最佳和最快方法是什么

标签 ruby arrays struct

我想将 arrrays @a@b@c 组合成一个包含多个数据元素的数组,例如OpenStruct:

@a = ["my", "foo", "bar"]
@b = ["yan", "can", "cook"]
@c = ["in", "your", "dreams"]

输出是这样的:

[
  { :a => "my",  :b => "yan",  :c => "in" },
  { :a => "foo", :b => "can",  :c => "your" },
  { :a => bar,   :b => "cook", :c => "dreams" }
]

最快的方法是什么?我应该考虑其他类(class)吗?

最佳答案

这是一个解决方案,但我不太相信它是最简洁的:

@a.zip(@b, @c).map {|t| {:a => t[0], :b => t[1], :c => t[2]}}

关于ruby - 在 Ruby 中组合 3 个并行数组的最佳和最快方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9247544/

相关文章:

c++ - 为什么 fill() 在一维数组上使用时编译,但在多维数组上不编译

c - 错误消息错误: variable '...' has initializer but incomplete type

struct - 你如何获得 struct-copy 来创建一个与原始类型相同的结构?

ruby - 哪种 Ruby 并发设备最适合这种情况?

ruby - 在使用 Mechanize/Nokogiri 解析网页之前触发 ajax 请求/响应

php - 使用 PHP 将嵌套数组插入 MySQL 数据库

ruby - 在数组中查找最常见的字符串

c - token 之间没有数据时解析文件

ruby-on-rails - 未定义方法 `+' 为 nil :NilClass in Rails

ruby - 如何解决 Cucumber 'can' t load such file' 警告?