2012-02-15 49 views
0

我要做到以下几点:什么是压缩此循环的优雅方式?

def feed_items 
    a = [] 
    taggings.each do |k| 
    a << k.feed_item 
    end 

    return a 
end 

我怎么可以这样写比较好?要初始化数组是非常难看的,我觉得有一种更加简洁的方式来做到这一点。对于您的信息,这是针对has_many标记的对象,并且每个标记都有一个feed_item。

回答

5

我不明白;你的循环不做任何事情,并且该方法返回一个空数组。

你想要这样做吗?

def feed_items 
    taggings.collect &:feed_item 
    # Or taggings.collect { |t| t.feed_item } 
end 
+0

是啊......粘贴了一些东西在那里错了。尽管你的答案很棒!谢谢 – jay 2012-02-15 03:38:54