我有一套如下:
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与红宝石,所以任何帮助赞赏。
答案 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();
。