[#39948] exit in Ruby/GTK window — NAWATE Masahiko <strike@...>
縄手@松江です.
31 messages
2004/08/10
[#39949] Re: exit in Ruby/GTK window
— Masao Mutoh <mutoh@...>
2004/08/10
むとうです。
[#40526] procの動作について(質問)
— "Hisashi Yahata" <yahatah@...>
2005/01/13
[#40530] Re: procの動作について(質問)
— 桑島雄一郎 <kanimiso@...>
2005/01/13
桑島です。
[#40531] Re: procの動作について(質問)
— rubikitch <rubikitch@...>
2005/01/13
From: 桑島雄一郎 <kanimiso@eins.rnac.ne.jp>
[#39973] 初心者向けの意見交換の場は?簡単な質問はどこにすればよいでしょうか。
— "Hisashi Yahata" <yahatah@...>
2004/08/26
60歳間近になった素人ですが、rubyに興味をもち、勉強を始めました。
[#39974] Re: 初心者向けの意見交換の場は?簡単な質問はどこにすればよいでしょうか。
— matz@... (Yukihiro Matsumoto)
2004/08/26
Hi,
[#39968] VBのSendKeyと同じことをしたいのですが... — Hideyuki Oya <h_oya@...>
oyaです。
6 messages
2004/08/22
[ruby-list:39965] Re: XMLの配列のinclude?ができない?
From:
SASADA Koichi <ko1@...>
Date:
2004-08-20 19:27:27 UTC
List:
ruby-list #39965
Shun Fukuzawa <shfukuzawa@jcom.home.ne.jp> wrote :
[ [ruby-list:39964] XMLの配列のinclude?ができない? ]
at Sat, 21 Aug 2004 03:36:27 +0900
ささだです.
> ここの、
>> d << e unless d.include?(e)
> なのですが、slashdotから配信されているRSSは、全部で11ありまして、中に、
> 同じデータが含まれている場合があり、それを排除したいのですが、うまくいき
> ません。同じく、
>> d.uniq!
> もやってみているのですが、うまくいきません。
Array#include? は,要素を == で比べているため,自分が期待す
る同値判定と違うものになっているんではないでしょうか.
というわけで,こんな感じでどうでしょうか.include? の代わり
に any? を使ってみました.そして,同値判定として,
entry#attirbute['about'] を使っています.RSS に詳しくないので,
本当にこれでいいのか自信がないのですが.
require 'open-uri'
require 'rexml/document'
include REXML
RSS_URIs = {
:SLASH_NORMAL => 'http://slashdot.jp/slashdotjp.rss',
:SLASH_ASK => 'http://slashdot.jp/askslashdot.rss',
:SLASH_BOOK => 'http://slashdot.jp/books.rss',
:SLASH_DEV => 'http://slashdot.jp/developers.rss',
:SLASH_INT => 'http://slashdot.jp/interview.rss',
:SLASH_KERNEL => 'http://slashdot.jp/linuxkernel.rss',
:SLASH_MAC => 'http://slashdot.jp/mac.rss',
:SLASH_MOB => 'http://slashdot.jp/mobile.rss',
:SLASH_SCI => 'http://slashdot.jp/science.rss',
:SLASH_SEC => 'http://slashdot.jp/security.rss',
:SLASH_SLA => 'http://slashdot.jp/slash.rss',
}
#
# address = %w(slashdotjp.rss ...).map{|e| 'http://slashdot.jp/' + e}
# でよかったかも
#
address = RSS_URIs.values
d = Array.new
address.each{|a|
# 開きっぱなしにするよりは,
# ブロックでファイルを開く有効範囲を決めたほうがいいと思います
open(a){|f|
c = Document.new(f).root
c.elements.to_a('//item').each{|e|
d << e unless d.any?{|de|
e.attributes['about'] == de.attributes['about']
}
}
}
}
d.sort!{|s,t|
s.elements['dc:date'].text <=> t.elements['dc:date'].text
}
d.reverse!
puts d
--
// SASADA Koichi at atdot dot net
//