なかだです。

At Thu, 25 Sep 2008 14:58:36 +0900,
Yukihiro Matsumoto wrote in [ruby-dev:36551]:
> 「変換をさせるなら変換を指定する」というのは具体的にはどうい
> う意味でしょう。
> 
> 私には「internalを空にしたときにはdefaultを使う」と
> 「default_internalはIOでinternalを指定しなかった場合のエンコー
> ディングである」は同じ意味のように感じられますが。

「:」があれば変換あり、なければそのままということです。

[ruby-dev:36552]にある、
> ちょっと苦しいですが、
> 
>   open(path, "r:default_external:")

をdefault_internalを使う指定として、

  open(path, "r:external")

は今までと同じく無変換でexternalとして読み込む、というのはどうで
しょう。

> 今回の提案では、default_internalが指定されている場合
> 
>   open(path, "r")
> 
> で、default_externalからdefault_internalへの変換が行われると
> いう意味で、暗黙の変換が発生することになり、かなり大きな方針
> 変更です。



>              default_external   default_internal
>   +-------+-------------------+-------------------+
>   |  -L   |      locale       |      locale       |
>   |-E :i  |      locale       |        i          |
>   |-E e   |        e          |        e	  |
>   |-E e:i |        e          |        i	  |
>   |(なし) |      locale       |      UTF-8	  |
>   +-------+-------------------+-------------------+

default_internalなし、という指定はできないわけですか。

> |また、internalとexternalそれぞれだけを指定するオプションを複数指
> |定した場合とか。
> 
> -Eオプションは1度しか受け付けないことにしようと思っています。

コマンドライン、RUBYOPT、shebangそれぞれで一度ずつ、でしょうか。

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