[#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:20336] Re: 1.8 gsub

From: Koji Arai <JCA02266@...>
Date: 2003-06-08 10:47:27 UTC
List: ruby-dev #20336
新井です。

In message "[ruby-dev:20335] 1.8 gsub"
  on 08 Jun 2003 15:52:39 +0900,
  "H.Suzuki" <hsuzux@yahoo.co.jp> wrote:
> hsuzu といいます。
> 
> ruby 1.8 で ' '.gsub(' ', '') を実行すると
> 
> warning: string pattern instead of regexp; metacharacters no longer
> effective
> 
> という warning がでます。1.6 のときは出なかったのですが、この warning を
> 出ないようにするにはどうすればよいでしょうか。gsub(/ /, '')というのは無
> しで。

str.gsub(patstr, repl)

は、

str.gsub(Regexp.compile(Regexp.quote(patstr)), repl)

という動作をしますので、このように書けば良いです。1.6 のころは

str.gsub(Regexp.compile(patstr), repl)

という動作だったので、意図によってはこのように書いた方が良い
かもしれません。warning はこの仕様変更に対する警告です。

# スペースで警告が出るのは変と言える?
#
#     p Regexp.quote(' ')
#     => "\\ "

ただ、示されている例では、なぜ、gsub(/ /, '') ではダメなのか
理由がわかりません。正規表現リテラルで指定しないと常に正規表
現コンパイルが発生して処理の無駄だったりしますが、それでも文
字列で指定したい理由があるのでしょうか?

--
新井康司 (Koji Arai)

In This Thread