[#950] ruby 1.1b0 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

33 messages 1997/12/05

[#998] ruby 1.1b1 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

48 messages 1997/12/09
[#1011] Re: ruby 1.1b1 released — Kazuhisa Yanagawa <katze@...> 1997/12/10

in message-id: <199712090833.RAA31727@picachu.netlab.co.jp>

[#1013] Re: ruby 1.1b1 released — matz@... (Yukihiro Matsumoto) 1997/12/10

まつもと ゆきひろです

[#1028] Regexp#operators (Re: ruby 1.1b1 released) — Shin-ichiro HARA <sinara@...> 1997/12/10

原です。

[#1030] Re: Regexp#operators (Re: ruby 1.1b1 released) — matz@... (Yukihiro Matsumoto) 1997/12/10

まつもと ゆきひろです

[#1033] Re: Regexp#operators (Re: ruby 1.1b1 released) — Shin-ichiro HARA <sinara@...> 1997/12/10

原です。

[#1049] Re: Regexp#operators (Re: ruby 1.1b1 released) — Shin-ichiro HARA <sinara@...> 1997/12/11

原です。

[#1064] Re: Regexp#operators (Re: ruby 1.1b1 released) — matz@... (Yukihiro Matsumoto) 1997/12/12

まつもと ゆきひろです

[#1097] Re: Regexp#operators (Re: ruby 1.1b1 released) — Shin-ichiro HARA <sinara@...> 1997/12/15

原です。

[#1002] Object#bind — shugo@... (Shugo Maeda)

前田です。

39 messages 1997/12/09
[#1008] Re: Object#bind — matz@... (Yukihiro Matsumoto) 1997/12/10

まつもと ゆきひろです

[#1023] Re: Object#bind — shugo@... (Shugo Maeda) 1997/12/10

前田です。

[#1026] Re: Object#bind — matz@... (Yukihiro Matsumoto) 1997/12/10

まつもと ゆきひろです

[#1044] Re: Object#bind — keiju@... (石塚圭樹 ) 1997/12/11

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

[#1051] Re: Object#bind — shugo@... (Shugo Maeda) 1997/12/11

前田です。

[#1063] Re: Object#bind — matz@... (Yukihiro Matsumoto) 1997/12/12

まつもと ゆきひろです

[#1079] Re: Object#bind — keiju@... (石塚圭樹 ) 1997/12/14

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

[#1084] Re: Object#bind — matz@... (Yukihiro Matsumoto) 1997/12/15

まつもと ゆきひろです

[#1087] Re: Object#bind — keiju@... (石塚圭樹 ) 1997/12/15

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

[#1088] Re: Object#bind — matz@... (Yukihiro Matsumoto) 1997/12/15

まつもと ゆきひろです

[#1085] [Req] object refference — keiju@... (Keiju ISHITSUKA)

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

12 messages 1997/12/15

[ruby-dev:1049] Re: Regexp#operators (Re: ruby 1.1b1 released)

From: Shin-ichiro HARA <sinara@...>
Date: 1997-12-11 10:09:12 UTC
List: ruby-dev #1049
原です。

ちょっと紛らわしい事を書いてしまったので訂正します。

> 原です。

> 積(&)は共通部分です。例えば /^[a-d]$/ & /^[b-e]$/ = /^[b-d]$/
> かな。しかし /[a-d]/ & /[b-e]/ がどうあるべきかは良く分からない
> です。
> 
> foo =~ (/[a-d]/ & /[b-e]/)
> 
> が、foo =~ /[b-d]/ となるのか foo =~ /[a-d]/ && foo =~ /[b-e]/
> と同値であるべきか良く分からない。(多分実装も無理ですね。)
> 
> 否定は(~~~ と書くと) ~~~ /^\d$/ は多分 /^\D$/ かな。
> ~~~ /\d/ はどうあるべきかも恣意的にならざるをえないですね。
> (/\D/ か /^\D*$/ か?)本当は ~~~ ~~~ foo は foo に等し
> いとありがたいのだけど。

やっぱり ~/[b-d]/ は、/^[^b-d]*$/、~/\d/ は、/^\D*$/ とするのが合理的
みたいです。(面倒なんで否定を ~ と書きます。)
というのは、str =~ (~regexp) は str !~ regexp となるべく同値になって
ほしいから。

で、(まあ考え方はいろいろあるかもしれなくて、これは一つの解釈なんだけ
ど)「実際の」正規表現 /abc/ は「理論的な」正規表現の表記では .*abc.*
に相当している考えるべきかも。そうすると

実際の   => 理論的な
/abc/    => .*abc.*
/^abc/   => abc.*
/abc$/   => .*abc
/^abc$/  => abc

みたいな感じですね。

と、いうことはですね。今回の仕様

/abc/ + /123/ = /abc123/

というのはやはりまずい。つまり + が理論的な連接に対応しているとす
れば、

/abc/ + /123/ => .*abc.* + .*123.* = .*abc.*.*123.* <= /abc.*.*123/

となるはず。この考え方からすると /abc123/ になるのは /abc$/ + /^123/
です。この /abc$/ + /^123/ は今回の仕様では /abc$^123/ で、コンパイル
エラーになりますよね。

やはり、Regexp の演算子はちょっと慎重であるべきだと思います。(^^;

In This Thread