2012-02-15 5 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

関連する問題