2012-02-22 17 views
0

RubyのIMAPライブラリを使用してメールのすべての送信者のリストを取得し、それをアルファベット順に並べ替えると、人。アルファベット順にソートするimap.fetch in ruby​​

私はステップ1でハングアップしています - アルファベット順にソートしています。これは私が持っているコードで、すべての "from"値のリストを返しますが、アルファベット順ではありません。

完全なルビーの初心者は、ここ1週間足らずです。

mail_count = imap.search(["SINCE", @this_week.strftime("%d-%b-%Y")]).each do |message_id| 
    envelope = imap.fetch(message_id, "ENVELOPE")[0].attr["ENVELOPE"] 
from_array = envelope.from[0].name.to_a 
sorted_from = from_array.sort 
puts "#{sorted_from}" 
end 

答えて

0

は多分この:

results = [] 
mail_count = imap.search(["SINCE", @this_week.strftime("%d-%b-%Y")]).each do |message_id| 
    envelope = imap.fetch(message_id, "ENVELOPE")[0].attr["ENVELOPE"] 
    from_array = envelope.from[0].name.to_a 
    results << from_array 
end 
results.sort.each do |el| 
    puts "#{el}" 
end 
+0

これは働いていました!今度は、重複を数えてe1のソートされたリストを生成する方法を理解することに移ります:Number of Repeats – krapdagn

関連する問題