[#42355] TkCanvasの座標 — Masato Ishimoto <i@...>
はじめまして。Newbieいしもと といいます。
12 messages
2006/06/02
[#42356] Re: TkCanvasの座標
— Hidetoshi NAGAI <nagai@...>
2006/06/03
永井@知能.九工大です.
[#42357] Re: TkCanvasの座標
— Masato Ishimoto <i@...>
2006/06/04
こんにちは、いしもとです。
[#42358] Re: TkCanvasの座標
— Hidetoshi NAGAI <nagai@...>
2006/06/04
永井@知能.九工大です.
[#42359] Re: TkCanvasの座標
— Masato Ishimoto <i@...>
2006/06/04
おはようございます。いしもとです。
[#42373] My/SQL/Ruby for Windows での不具合 — 林 浩一郎 <NQA58508@...>
subscribe Koichiro Hayashi
5 messages
2006/06/09
[#42375] String#count, String#deleteの利用想定 — Daisuke Yamazaki <yamajaki@...>
こんにちは
6 messages
2006/06/10
[#42389] ruby -Ks -rjcode -e"p('|%5.5s|'%'泣き別れ')" #=> "|泣き怖" — take_tk <ggb03124@...>
たけ(tk)です
7 messages
2006/06/12
[#42394] eachはなぜ元々のオブジェクトが返るのか? — Fujioka <fuj@...>
藤岡です。
7 messages
2006/06/12
[#42416] ファイル中の空行の削除方法 — 遠藤 大二 <dendoh@...>
遠藤@札幌です
6 messages
2006/06/18
[#42423] 空白行を除くための行数の数え方 — 遠藤 大二 <dendoh@...>
遠藤@札幌 です
9 messages
2006/06/19
[#42428] toplevel ウィジェットにイベントがわたらない? — Hiroshi Kimura <Hiroshi.Kimura@...>
九工大、木村といいます。
8 messages
2006/06/20
[#42454] 多量の正規表現との効率的なマッチのアイデアを、、 — しん <dezawa@...>
出沢です
22 messages
2006/06/22
[#42455] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— rubikitch <rubikitch@...>
2006/06/22
From: しん <dezawa@aliadne.net>
[#42456] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— しん <dezawa@...>
2006/06/23
出沢です
[#42458] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— rubikitch <rubikitch@...>
2006/06/23
From: しん <dezawa@aliadne.net>
[#42459] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— しん <dezawa@...>
2006/06/23
出沢です
[#42460] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— rubikitch <rubikitch@...>
2006/06/23
From: しん <dezawa@aliadne.net>
[#42461] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— しん <dezawa@...>
2006/06/23
出沢です。
[#42465] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— rubikitch <rubikitch@...>
2006/06/23
From: しん <dezawa@aliadne.net>
[#42467] Re: 多量の正規表現との効率的なマッチのアイデアを、、
— しん <dezawa@...>
2006/06/23
出沢@なるほど、、、
[#42475] String#first, String#last — Kouhei Yanagita <yanagi@...>
こんにちは。柳田です。
6 messages
2006/06/23
[ruby-list:42465] Re: 多量の正規表現との効率的なマッチのアイデアを、、
From:
rubikitch <rubikitch@...>
Date:
2006-06-23 06:55:46 UTC
List:
ruby-list #42465
From: しん <dezawa@aliadne.net>
Subject: [ruby-list:42461] Re: 多量の正規表現との効率的なマッチのアイデアを、、
Date: Fri, 23 Jun 2006 15:14:31 +0900
> myreg.each{|catreg| # このあたりが
> url =~ catreg[1] || next # もっと美しくならんか
> cat = catreg[0] # 馬鹿サーチではなく
> break # もっと効率良くならないか
> } # というのが、今回の「思い」です。
Enumerable#findを使ってみました。
Enumerable#find
--- find([ifnone]) {|item| ... }
--- detect([ifnone]) {|item| ... }
要素に対してブロックを評価した値が真になった最初の要素を返します。
真になる要素がひとつも見つからなかったときは ifnone を(もし
指定されていれば)評価して nil を返します。
(ruby 1.7 feature: ifnoneを評価した結果を返します。
)
ifnone には文字列かあるいは、call メソッドを持つオブジェ
クト(例えば Proc)を指定します。
[1,2,3].find("raise") {|v| v > 4}
# => -:1: unhandled exception
ruby 1.7 feature: ifnone に文字列は指定できなくなりました。
> $/ = nil
> input=open("myreg")
>
> myreg=input.gets.split(/\n/).map{|line|
こんなことしなくてもFile.readで一発です。
File.readlinesでもかまいません。
> count=Hash.new
> count[cat] = (count[cat]||=0)+1
Hash.new(0)で0に初期化しておきました。
そのためカウント処理は
count[cat]+=1
ですみます。
> while input.gets
同様、File.readで一気に読み込んで処理しました。
myreg = File.read("myreg").split(/\n/).map{|line|
cat,data = line.split;
[cat, Regexp.new(Regexp.quote(data))]
}
count = Hash.new(0)
File.read("testdata").split(/\n/).each do |line|
cat,url = line.split
cat_matched,_ = myreg.find{|mycat,reg| url =~ reg}
cat = cat_matched if cat_matched
count[cat] += 1
end
count.each{|k,v| print "#{k} #{v} count\n" }
--
rubikitch
http://www.rubyist.net/~rubikitch/