要望:Rubyの文字定数No.05050
santoku さん 10/01/25 15:03
 
複数行コメントの言語にRubyを選んだ場合の話です。

%記法で括弧類("(), [], {}, <>")を用いた文字定数の中に同じ括弧が含まれてい
た場合なんですが、

リファレンスでは、
『括弧を区切り文字にした場合、対応が取れていれば区切り文字と同じ括弧を要素に
含めることができます』
とあります。
http://doc.okkez.net/static/191/doc/spec=2fliteral.html#percent

    %((text))   => "(text)"
    %((text)    => error!
    %(text))    => error!
    %{#{2*3}}   => "6"

これに対応できませんか?

例えば、
現在は下記の引用文で最初の式展開 #{RE_LWS} までが文字定数で表記されます。
これを、終端の } まで文字定数として認識して欲しいのです。

/lib/ruby/1.9.1/open-uri.rb より引用

    RE_PARAMETERS = %r{(?:;#{RE_LWS}?#{RE_TOKEN}#{RE_LWS}?=#{RE_LWS}?(?:#{RE
_TOKEN}|#{RE_QUOTED_STRING})#{RE_LWS}?)*}n

[ ]
RE:05050 要望:Rubyの文字定数No.05053
秀丸担当 さん 10/01/25 17:01
 

>リファレンスでは、
>『括弧を区切り文字にした場合、対応が取れていれば区切り文字と同じ括弧を要素に
>含めることができます』
>これに対応できませんか?

確かに%記法で括弧には対応していないです。
perlの qq() でも要望があって括弧の入れ子に対応していて、これと処理は似て
いるのでこれと同じことをすると対応はできるかもしれません。
とはいえqq()のときも挙動が一転二転したことがあって、レベルダウンが怖いの
で慎重に検討したいと思います。
できそうであれば次のβ版で修正させていただきます。

[ ]