给定n个subArrays Sn的数组A,如何在Ruby中选择Sn [i]成员数组?

Dar*_*rme 0 ruby arrays multidimensional-array

给定n个subArrays Sn的数组A,如何在Ruby中选择Sn [i]成员数组?

例如,给定一个如下数组languages:

languages = [ ['Italiano', 'it'], ["English", 'en'], ["Française", 'fr' ] ]
Run Code Online (Sandbox Code Playgroud)

我怎样才能获得数组......

locales_in_languages = ['it', 'en', 'fr' ]
Run Code Online (Sandbox Code Playgroud)

...包含所有language[1]对象?

是否有一种简单的'rubysh'方法来实现这一目标?

KL-*_*L-7 5

一般来说,它将是:

array.map { |subarray| subarray[i] }
Run Code Online (Sandbox Code Playgroud)

如果您需要每个数组的第一个(或最后一个)元素,您可以执行以下操作:

array.map(&:first) # similar array.map(&:last)
Run Code Online (Sandbox Code Playgroud)

查看文档Enumerable#map方法.

顺便说一句,使用Rails你也可以使用&:second,&:third,&:fourth,&:fifth,甚至&:forty_two.