ruby - 两个 Ruby 数组中元素的每个组合

标签 ruby

我有三个 Ruby 数组:

color = ['blue', 'green', 'yellow']
names = ['jack', 'jill']
combination = []

我需要将以下连接插入到 combination 数组中:

FOR EACH names value: [name value] + " wants " + [color value]

所以结果将是:

combination = ['jack wants blue','jack wants green','jack wants yellow','jill wants blue','jill wants green','jill wants yellow']

我不知道该怎么做。我试过这个开始但无济于事:

name.each do |name| 
   puts "#{name} wants #{color}"
end

最佳答案

您可以使用 Array#product :

names = ['jack', 'jill']
colors = ['blue', 'green', 'yellow']

names.product(colors).map { |name, color| "#{name} wants #{color}" }
#=> ["jack wants blue", "jack wants green", "jack wants yellow", "jill wants blue", "jill wants green", "jill wants yellow"]

关于ruby - 两个 Ruby 数组中元素的每个组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26612734/

相关文章:

ruby-on-rails - 帖 subview 中未显示评论验证错误

ruby-on-rails - Rails 未定义方法 `strftime' 为 "2013-03-06":String

ruby-on-rails - rails - 回形针错误 Errno::EPERM(不允许操作@unlink_internal

ruby - 如何在 Windows 控制台中禁用标准输入回显

ruby-on-rails - ruby 语法(rails 模型)

ruby-on-rails - Rails - 按类别显示所有问题

c++ - UNIX : One running a ruby server and other C++ client 中 2 个进程之间通信的最佳方式

ruby - 如何在我的续集类中定义我的表所有者/架构?

ruby - 失败后继续 rake

ruby - 有没有办法在 ruby​​ 中重新定义 []=+