[#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

[#39973] 初心者向けの意見交換の場は?簡単な質問はどこにすればよいでしょうか。 — "Hisashi Yahata" <yahatah@...> 2004/08/26

60歳間近になった素人ですが、rubyに興味をもち、勉強を始めました。

[ruby-list:39966] Re: XMLの配列のinclude?ができない?

From: Shun Fukuzawa <shfukuzawa@...>
Date: 2004-08-21 03:21:55 UTC
List: ruby-list #39966
ゆきちです。

SASADA Koichi wrote:
>   Shun Fukuzawa <shfukuzawa@jcom.home.ne.jp> wrote :
>     [ [ruby-list:39964] XMLの配列のinclude?ができない? ]
>     at Sat, 21 Aug 2004 03:36:27 +0900
> 
>  ささだです.
> 
> 
> 
>  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_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
> 
以上で、ほぼ望みのことは、達成できました。
あとは、精進して、自分のスクリプトを作りたいと思います。

ありがとうございました。


In This Thread

Prev Next