Yuguiです。

実は本件についてRails勉強会@東京で喋ってみたのですが、Rubyistたちからは
意外な反応が返ってきました。

 * default_internalがそれほどほしいというわけではない
 * 今の仕様で困らないのに、どうしてそれを変えようとして悩んでいるのか?

Yukihiro Matsumoto さんは書きました:
> リテラルなどのエンコーディングと違って、入力や出力に伴うエン
> コーディングをレキシカルに決定することは難しそうですね。少な
> くとも私にはどうやって実現したものか想像もつきません。

ある程度再利用を考えたプログラムではそもそも、可能かも分からない特定のエ
ンコーディングへの変換を可能な限り避けてエンコーディング独立なコードを書
くべきです。
考えてみると、default_internalが嬉しいケースというのは、やはり短いスクリ
プトを書く場合でしょう。ところが、そのようなケースでは外界のエンコーディ
ング(default_external)をそのまま内部で処理すればよいのであって、つまり
default_internalはnil(無変換)で良いのです。

してみると、「完璧な振る舞いを定義できないならば不要」というのは1つの答
えではないでしょうか。


-- 
Yugui <yugui / yugui.jp>
http://yugui.jp
私は私をDumpする