Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何将一维ruby数组组合成二维数组?_Ruby On Rails_Arrays_Ruby - Fatal编程技术网

Ruby on rails 如何将一维ruby数组组合成二维数组?

Ruby on rails 如何将一维ruby数组组合成二维数组?,ruby-on-rails,arrays,ruby,Ruby On Rails,Arrays,Ruby,我有两个阵列: 学校名称数组 一排鼻涕虫 假设学校名称的数组是:[name1,name2,name3],而slug名称的数组是:[slug1,slug2,slug3] 在ruby中,如何生成数组[[name1,slug1],[name2,slug2],[name3,slug3]] 我对这件事的尝试有点像是javascript-ish: 您将使用它,如: names = %w(name1 name2 name3) slugs = %w(slug1 slug2 slug3) names.zip

我有两个阵列:

  • 学校名称数组
  • 一排鼻涕虫
假设学校名称的数组是:
[name1,name2,name3]
,而slug名称的数组是:
[slug1,slug2,slug3]

在ruby中,如何生成数组
[[name1,slug1],[name2,slug2],[name3,slug3]]

我对这件事的尝试有点像是
javascript-ish

您将使用它,如:

names = %w(name1 name2 name3)
slugs = %w(slug1 slug2 slug3)

names.zip(slugs)
# [["name1", "slug1"], ["name2", "slug2"], ["name3", "slug3"]]
您将使用它,如:

names = %w(name1 name2 name3)
slugs = %w(slug1 slug2 slug3)

names.zip(slugs)
# [["name1", "slug1"], ["name2", "slug2"], ["name3", "slug3"]]

建议您考虑数据结构

的哈希值
schools = ["first", "second", "third"]
slugs = ["a", "b", "c"]
school_slugs = {}

(0..2).each do |position|
  school_slugs[schools[position]] = slugs[position]
end
# => 0..2
school_slugs
# => {"first" => "a", "second" => "b", "third" => "c"}
如果您使用奥雅纳的方法,您还可以将其转换为散列,即

[["name1", "slug1"], ["name2", "slug2"], ["name3", "slug3"]].to_h

# => {"name1"=>"slug1", "name2"=>"slug2", "name3"=>"slug3"} 

建议您考虑数据结构

的哈希值
schools = ["first", "second", "third"]
slugs = ["a", "b", "c"]
school_slugs = {}

(0..2).each do |position|
  school_slugs[schools[position]] = slugs[position]
end
# => 0..2
school_slugs
# => {"first" => "a", "second" => "b", "third" => "c"}
如果您使用奥雅纳的方法,您还可以将其转换为散列,即

[["name1", "slug1"], ["name2", "slug2"], ["name3", "slug3"]].to_h

# => {"name1"=>"slug1", "name2"=>"slug2", "name3"=>"slug3"} 
只要有两个大小相同的数组,就像这里一样

names.zip(slugs)
  #=> [["name1", "slug1"], ["name2", "slug2"], ["name3", "slug3"]]

可以互换

只要有两个大小相同的数组,就像这里一样

names.zip(slugs)
  #=> [["name1", "slug1"], ["name2", "slug2"], ["name3", "slug3"]]


都是可互换的。

对于
,它看起来不像ruby
。可能更像是
(0..2)。每个do | position |
代码和一个
结尾
,就像我说的,这只是一次尝试哈哈-尽我所能以javascript形式实现它。。。我很快了解到,当你不发布代码时,人们不喜欢它,所以我发布了一些东西。这看起来不像是一个ruby
for
。可能更像是
(0..2)。每个人都做|定位
代码,还有一个
结尾,就像我说的,这只是一个尝试,哈哈-尽我所能以javascript形式做到最好。。。我很快就了解到人们不喜欢你不发布代码,所以我发布了一些东西。很好的方法。删除逗号thoughnice方法。删除逗号可能是因为您可以使用
带对象({})的每个
代替预定义
哈希
可能是因为您可以使用
带对象({})的每个
代替预定义
哈希