[#20392] [BigDecimal] proposal to change specification — "Tadashi Saito" <shiba@...2.accsnet.ne.jp>

斎藤と申します。

25 messages 2003/06/20
[#20407] Re: [BigDecimal] proposal to change specification — "Shigeo Kobayashi" <shigeo@...> 2003/06/22

小林です。

[#20447] [BigDecimal] renaming proposal — "Tadashi Saito" <shiba@...2.accsnet.ne.jp>

斎藤です。

47 messages 2003/06/24
[#20621] Re: [BigDecimal] renaming proposal — "Shigeo Kobayashi" <shigeo@...> 2003/07/11

小林@MAILチェック中です。

[#20628] Re: [BigDecimal] renaming proposal — "Shigeo Kobayashi" <shigeo@...> 2003/07/11

小林です。

[ruby-dev:20389] Re: [Oniguruma] quoting substring

From: Tanaka Akira <akr@...17n.org>
Date: 2003-06-19 18:38:46 UTC
List: ruby-dev #20389
In article <5FD2F0CF7F5D7F44B00F36870B9E78B508DE5040@SBG-EX4>,
  kkosako@softbank.co.jp writes:

> PerlとJavaの正規表現で実現されている
> 「リテラルテキスト範囲指定」を実装してみたんですが、
> デフォルトで有効にしても構いませんか?
> (\Qから\Eの間の全ての正規表現のメタ文字が無効になります。)
>
> /...\Q.?*+\{}[]\E.../.match("aaa.?*+\\{}[]aaa")

弱い反対を表明します。

この機能はいれるなら Perl のように正規表現リテラルの機能とすべきだと思
います。

なぜかというと、エンジンで扱うと \Q...\E の中で式展開が起きた中に \E
が含まれている場合に、その \E でリテラルテキストが終ってしまうだろうか
らです。

この結果、
  /...\Q#{...}\E.../
  /...#{Regexp.quote ...}.../
という 2つの記述で、
  前者は短いけれど展開結果に \E が含まれているときに問題があり、
  後者は長いけれど展開結果に \E が含まれていても問題がない、
という状況が生まれます。

ここで、プログラマは怠惰ですから短い前者を使いたがるわけですが、前者に
は \E の問題があります。つまり、エンジンで \Q...\E をサポートすること
は問題がある記述にプログラマを誘導することになります。

というわけで、あんまりよくないんじゃないか、というわけです。
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread