なかだです。

%w()では、中身は''相当で扱われて#{}による式の展開や、エスケープ
記法(終端文字や\自身、空白を除く)ができないので、それらを行う%W
という記法を導入したいという話です。

At Wed, 20 Feb 2002 18:28:38 +0900,
matz / ruby-lang.org (Yukihiro Matsumoto) wrote:
> |> |たぶんこれでいいのではないかと。空白による分割はコード上に書か
> |> |れているものだけで、展開の結果までは及ばないということで。
> |> 
> |> あ、やっぱり。だとすると実装がますます大変そう。
> |
> |そうですか? 展開の結果まで分割しようとすると、エスケープされた
> |空白の扱いとかがめんどくさいんじゃないかと思うんですが。
> 
> 展開してから分割しようと考えてたので。
> なかださんが作っちゃったなら取り込んじゃおうかなあ。
> まあ、とりあえずruby-devで話しませんか?

で、問題になっているのは、式を展開した結果が空白を含んでいる場
合にどうすべきか、です。(a)展開の結果は分割されないのか、(b)展
開した結果も空白で分割するのか。

	foo = "HOGE HOGE"
	%W(foo #{foo})

	=> ["foo", "HOGE HOGE"] 	(a)
	=> ["foo", "HOGE", "HOGE"]	(b)

さらに(b)では、展開結果の端に空白があったときにどうするか、とい
う問題もあります。

今のところ、新井さんと私は(a)派。まつもとさんは(b)を考えてたそ
うです。

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦