まつもと ゆきひろです

In message "Re: [ruby-list:46274] % でのフォーマット"
    on Wed, 12 Aug 2009 00:25:59 +0900, Yutaka Kanemoto <kinpoco / gmail.com> writes:

|以下のようなスクリプトを走らせると、
|1.9.1p0とtrunkで結果に差があります。
|
|>---ここから---<
|# coding: utf-8
|fmt="%s テスト%s"
|p fmt.encoding
|a=["abc", "です。"]
|
|a.each {|e|
|  print e, ": ", e.encoding, "\n"
|}
|puts fmt % a
|puts "----"
|a[0].encode!("US-ASCII")
|a.each {|e|
|  print e, ": ", e.encoding, "\n"
|}
|
|p Encoding.compatible?(a[0], fmt)
|p Encoding.compatible?(a[1], fmt)
|p Encoding.compatible?(a[0], a[1])
|puts fmt % a
|>---ここまで---<

|1.9.1p243も結果はtrunkといっしょでした。
|仕様変更やBugFixがあったかなにかで、こういう場合は%する前に、
|encodingをそろえたほうがいいのでしょうか?

いや、バグでした。ありがとうございます。trunkでは直っている
と思います。