[#10553] base64.rb — Sinichiro Dezawa <dezawa@...>

出沢です

92 messages 1998/11/01
[#10565] Re: base64.rb — Shin-ichiro Hara <sinara@...> 1998/11/01

原です。

[#10583] Re: base64.rb — matz@... (Yukihiro Matsumoto) 1998/11/02

まつもと ゆきひろです

[#10595] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/02

出沢です

[#10611] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/04

出沢です

[#10613] Re: base64.rb — matz@... (Yukihiro Matsumoto) 1998/11/04

まつもと ゆきひろです

[#10614] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/04

matz> kconvにかけるってのは反則ですか? 今のkconvはB-encodingをデ

[#10615] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/04

>あー、そんなのがあったのか。反則だ。

[#10616] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/04

dezawa> >あー、そんなのがあったのか。反則だ。

[#10617] Re: base64.rb — WATANABE Hirofumi <watanabe@...> 1998/11/04

わたなべです.

[#10618] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/04

watanabe> 何も指定しなくていいです. もともとは nkf で

[#10621] Re: base64.rb — matz@... (Yukihiro Matsumoto) 1998/11/04

まつもと ゆきひろです

[#10623] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/04

matz> エンコードにはpack("m")がお勧めなのかなあ.

[#10635] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/04

dezawa> 手を付け兼ねてるのは、

[#10642] Re: base64.rb — WATANABE Hirofumi <watanabe@...> 1998/11/05

わたなべです.

[#10648] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/05

watanabe> エスケープとか全部含めて encode する必要があります.

[#10654] Re: base64.rb — WATANABE Hirofumi <watanabe@...> 1998/11/05

わたなべです.

[#10659] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/05

watanabe> といろいろ問題はあるけど pack("m") は encode した結果が長く

[#10663] Re: base64.rb — WATANABE Hirofumi <watanabe@...> 1998/11/05

わたなべです.

[#10664] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/05

watanabe> 自前で細切れに処理しないとだめかな?

[#10672] Re: base64.rb — aamine@... 1998/11/05

あおきです。

[#10673] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/05

aamine> さらに難しくしてしまうのもなんなんですが

[#10702] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/07

出沢@フジフイルム です

[#10796] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/13

出沢です

[#10800] Re: base64.rb — Shun-ichi GOTO <gotoh@...> 1998/11/13

後藤@太陽計測です

[#10801] Re: base64.rb — Toru Hoshina <toru@...> 1998/11/13

保科です。

[#10802] Re: base64.rb — Shun-ichi GOTO <gotoh@...> 1998/11/13

後藤@太陽計測です

[#10804] Re: base64.rb — Toru Hoshina <toru@...> 1998/11/13

保科です。

[#10806] Re: base64.rb — Shun-ichi GOTO <gotoh@...> 1998/11/13

後藤@太陽計測です

[#10737] Re: base64.rb — aamine@... 1998/11/09

あおきです。

[#10741] Re: base64.rb — Sinichiro Dezawa <dezawa@...> 1998/11/09

すばやい

[#10676] 11/10 tokyo offline meeting — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

19 messages 1998/11/06

[#10697] Re: 11/10 tokyo offline meeting — KIMURA Koichi <kkimura@...>

35 messages 1998/11/07
[#10708] Re: 11/10 tokyo offline meeting — TEI meiki <tei@...> 1998/11/07

鄭です。

[#10709] Re: 11/10 tokyo offline meeting — Sinichiro Dezawa <dezawa@...> 1998/11/07

では 「やぐら茶屋」NSビル店 で一応決まりということで?

[#10713] Re: 11/10 tokyo offline meeting — TEI meiki <tei@...> 1998/11/07

鄭です。

[#10721] Re: 11/10 tokyo offline meeting — keiju@... (石塚圭樹 ) 1998/11/08

けいじゅ@日本ラショナルソフトウェアです.

[#10729] Re: 11/10 tokyo offline meeting — matz@... (Yukihiro Matsumoto) 1998/11/09

まつもと ゆきひろです

[#10738] Re: 11/10 tokyo offline meeting — keiju@... (石塚圭樹 ) 1998/11/09

けいじゅ@日本ラショナルソフトウェアです.

[#10743] Re: 11/10 tokyo offline meeting — ARIMA Yasuhiro <fit0298@...> 1998/11/09

Regard to "[ruby-list:10738] Re: 11/10 tokyo offline meeting"

[#10747] ruby 1.1c7 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

23 messages 1998/11/09

[#10904] ruby 1.1c8 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

16 messages 1998/11/17

[#10910] require error (tkutil.so -> tk.so) — ttate@...

立石です。

17 messages 1998/11/17
[#10924] Re: require error (tkutil.so -> tk.so) — matz@... (Yukihiro Matsumoto) 1998/11/18

まつもと ゆきひろです

[#10926] Re: require error (tkutil.so -> tk.so) — WATANABE Hirofumi <watanabe@...> 1998/11/18

わたなべです.

[#11054] ruby-list offline meeting at 11/27 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

36 messages 1998/11/26
[#11056] Re: ruby-list offline meeting at 11/27 — Sinichiro Dezawa <dezawa@...> 1998/11/26

残念なのですが、出沢は無理そうです。

[#11057] Re: ruby-list offline meeting at 11/27 — matz@... (Yukihiro Matsumoto) 1998/11/26

まつもと ゆきひろです

[#11061] Re: ruby-list offline meeting at 11/27 — IWAMURO Motonori <iwa@...> 1998/11/26

岩室@富士通です。

[#11062] Re: ruby-list offline meeting at 11/27 — keiju@... (石塚圭樹 ) 1998/11/26

けいじゅ@日本ラショナルソフトウェアです.

[#11067] Re: ruby-list offline meeting at 11/27 — "D.Kanda" <MAP2303@...> 1998/11/26

[#11072] Re: ruby-list offline meeting at 11/27 — keiju@... (石塚圭樹 ) 1998/11/26

けいじゅ@日本ラショナルソフトウェアです.

[ruby-list:10658] Re: base64.rb

From: maeda@...
Date: 1998-11-05 04:00:23 UTC
List: ruby-list #10658
前田@リコーです。

前田> 強いて言えば「くり返し優先」「スキップ優先」ですかね。

これだけだといじわるみたいなので、例で説明しましょう。

abc.+def、abc.+?defという表現に対してabc12de34def56defという文字
列を与えた場合を考えます。たくさんあるマッチの可能性全部を一度に
調べることはできないので、未探索の可能性をスタックにためながら、
バックトラックによって調べていきます。最初に一致が見つかったとこ
ろで、答として返します。このときスタックに入ってるものは捨てられ
ます。

---

★abc.+defの場合

一致済				試行	失敗したら		結果
				a ? a	開始位置を進める	ok
a	 a			b ? b	開始位置を進める	ok
ab	 ab			c ? c	開始位置を進める	ok
abc	 abc			. ? 1	開始位置を進める	ok
abc.	 abc1			. ? 2	1: dから試す		ok
abc.+	 abc12			. ? d	2: dから試す		ok
abc.+	 abc12d			. ? e	3: dから試す		ok
	   中略	    
abc.+	 abc12de34def56		. ? d	11: dから試す		ok
	   中略
abc.+	 abc12de34def56de	. ? f	13: dから試す		ok
abc.+	 abc12de34def56def	. ? 終	14: dから試す		ng -> 14へBT
abc.+	 abc12de34def56def	d ? 終	バックトラック		ng -> 13へBT
abc.+	 abc12de34def56de	d ? f	バックトラック		ng -> 12へBT
abc.+	 abc12de34def56d	d ? e	バックトラック		ng -> 11へBT
abc.+	 abc12de34def56		d ? d	バックトラック		ok
abc.+d	 abc12de34def56d	e ? e	バックトラック		ok
abc.+de	 abc12de34def56de	f ? f	バックトラック		ok
abc.+def abc12de34def56def	終 ? 終	バックトラック		ok -> 終了

★abc.+?defの場合

一致済			試行	失敗したら		結果
			a ? a	開始位置を進める	ok
a	 a		b ? b	開始位置を進める	ok
ab	 ab		c ? c	開始位置を進める	ok
abc	 abc		. ? 1	開始位置を進める	ok
abc.	 abc1		d ? 2	1: .のくり返しを試す	ng -> 1へBT
abc.+	 abc1		. ? 2	開始位置を進める	ok
abc.+	 abc12		d ? d	1: .のくり返しを試す	ok
abc.+d	 abc12d		e ? e	バックトラック		ok
abc.+de	 abc12de	f ? 3	バックトラック		ng -> 1へBT
abc.+	 abc12		. ? d	開始位置を進める	ok
abc.+	 abc12d		d ? e	1: .のくり返しを試す	ng -> 1へBT
abc.+	 abc12d		. ? e	開始位置を進める	ok
	 中略
abc.+	 abc12de34	d ? d	開始位置を進める	ok
abc.+d	 abc12de34d	e ? e	開始位置を進める	ok
abc.+de	 abc12de34de	f ? f	開始位置を進める	ok
abc.+def abc12de34def	終 ? 終	開始位置を進める	ok -> 終了

結果として、
	abc.+def	abc12de34def56def
	abc.+?def	abc12de34def
が得られますが、長さに関する計算は一度も行っていないことがわかり
ます。

ここで、頭のいい人は「そうか、長さが最長、ではなくてくり返し回数
が最大なんだな」とか思うかもしれませんが、実はそれも正確ではあり
ません。「ある順番で試し、最初に見つかったもの」という大原則があっ
て、+に対する?ではその「順番」をコントロールしているにすぎません。

-------------------------------  Vulture       LRM20   .□||□.   LRM20
 前田 薫 maeda@src.ricoh.co.jp   75t 175km/h     Md+  o'□||□`o  Md+
 (株)リコー ソフトウェア研究所   HeatSink 18  LG Sm+   .=X~~X=.   Sm+ LG
-------------------------------  Armor 2195           _|_    _|_  

In This Thread