けいじゅ@いしつかです.

In [ruby-list:45210] the message: "[ruby-list:45210] Re: irbでの式展開
中の動作について", on Jul/07 23:42(JST) Yukihiro Matsumoto writes:

>まつもと ゆきひろです

>irbでは式展開の中でのネストしたダブルクオートには対応していま
>せん。irbが使っているパーサーはネストを許す前に開発されたもの
>で、それ以降改善されていないからです。バグと言えばバグなので
>すが、対応が大変な割にメリットが薄いので対応される可能性はそ
>んなに高くないです。

ずいぶんたってしまいましたが, この問題に一応対応しました[redmine Bug#1695].

完全に対処できているかどうかはちょっと微妙でなくもないですが...

ただ, プロンプトが, 下記のような感じになっちゃうのですが, これは勘弁し
てください. 

irb(main):001:0> "
irb(main):002:0" hi
irb(main):003:0" #{
irb(main):004:0> 'a'.gsub("'
irb(main):005:1" "
irb(main):006:1> , '\\\'
irb(main):007:1' '
irb(main):008:1> )
irb(main):009:0> }
irb(main):010:0" "

"#{exp}"を複数行にわたって書くこともないってことで.

ここからが本題ですが. 上記を実行すると, 

SyntaxError: (irb):6: syntax error, unexpected ',', expecting ')'
, '\\\'
 ^
(irb):8: syntax error, unexpected ')', expecting '}'
(irb):10: unterminated string meets end of file
	from /home/keiju/var/bin/irb:13:in `<main>'


というエラーになります. rubyで直接実行しても同様です. これって, バグの
ような気がするのですが? いかがでしょう?

__
---------------------------------------------------->> 石塚 圭樹 <<---
---------------------------------->> e-mail: keiju / ishitsuka.com <<---