如何在数组ruby中获取数组的第二个元素

时间:2016-10-22 05:56:59

标签: ruby

我有一套如下:

verb_tag_set = Set.new ["VB", "VBD", "VBG", "VBN", "VBP", "VBZ", "MD"]

我的tagged_text数组包含以下内容:

tagged_text = [["VB", "go"], ["VBG", "going"]]

我试图通过选择那些包含与verb_tag_set中某个项匹配的元素的数组来获取每个数组第二行的所有元素。

    verb_tagged_array = tagged_text.select{|el| el[1] if verb_tag_set.include?(el[0])}
    verb_tagged_array.map{|row| row[1]}

虽然这样可行,但我应该能够将数组放在一行中。

有关如何优化此代码的任何想法?

NOOB与红宝石,所以任何帮助赞赏。

2 个答案:

答案 0 :(得分:1)

您似乎想要以下内容。

require 'set'

verb_tag_set = Set.new ["VB", "VBD", "VBG", "VBN", "VBP", "VBZ", "MD"]    
tagged_text = [["VB", "go"], ["VBG", "going"]]

tagged_text.select { |a,b| verb_tag_set.include?(a) }.map(&:last)
  #=> ["go", "going"] 

答案 1 :(得分:1)

tagged_text

在这里,我们使用nil作为集合的映射函数,然后删除FbRemoteEvent revent = new FbRemoteEvent(fb); revent.AddEvents(new string[] { "new_g" }); revent.RemoteEventCounts += new FbRemoteEventEventHandler (EventCounts); revent.QueueEvents();