From: Masatoshi SEKI Date: 2008-12-25T02:23:29+09:00 Subject: [ruby-dev:37588] Re: M17N of erb(1) Was: Re: Current status of 1.9.1 RC1's issues 咳といいます。 ありがとうございます。 bin/erbは使ったことがないので、ユーザ寄りの意見は非常に参考に なります。 magic commentの必要性は理解できました。 このような問題はerubyではどのように扱っているのでしょうか? On 2008/12/24, at 18:51, Yugui (Yuki Sonoda) wrote: > > >> * それともevalするコンテキストの状態によって決まるのか、 > > これはありませんscript encodingはスクリプトを書いた時 > 点で定まるもので > あって、あとは処理系がどうやってそのエンコーディングを知る > かという問題です。 > > ruby本体の場合、default_external, default_internalは > * commandline option > * ロケール > で決まります。環境変数に左右されたり、オプションの指定を義 > 務づけたり貴重 > なshebang引数を消費したりすることなくerbファイルが > portableであるために > は、少なくともmagic commentに似た仕組みは必要だと思い > ます。 znzさんの日記 (http://znz.s1.xrea.com/t/?date=20080108) で知ったのですが、 evalもmagic commentを解釈するのですね。 うーむ。ERB.resultはどうしたものか。ERBもerbも magic commentを同様に処理する べきならERBに渡されたスクリプトの最初のコメントを evalするRubyスクリプトに 残してあげれば動きそうな気がする。 このあたりがらっと変えたらtDiaryやRoRに影響するだ ろうか‥。 じゃあ、def_method系はどうなるんだよ‥、というのも悩むなあ。 >> magic commentを含むRubyスクリプトを出力するような >> erbのスクリプトを書く >> ときなどにめんどくさそうなので、magic comment以外の >> 方法で解決できた >> らよいなあと考えてます。 > > これはなるほどと思うのですが、 >  <%# -*- coding: UTF-8 -*- %> > > これなら地のテキストのmagic commentとは区別が付くので > はないでしょうか。 ああ。そうかもしれません。 それが最初の行にあったときに特別特別な処理をすればよいのですね。 いまのところ、私の意見は次の通りです。 > > というあたりで、 > * -E, -Uオプションを追加するか(私はすべきと思う) > * この辺はirbと同じで 追加する。 > > * -Kは復活するか? > * irbではしなかったが、erbはどうするか 復活しない > > * magic commentを提供するか(私はすべきと思う) > * その構文 最初の行の<%# ... %>のコメントを活かす、のかしらん。 > > * script encoding指定オプションは必要か > * magic commentと衝突したらどうする? 指定オプションを用意しない。 > > * 出力エンコーディングは? > * script encoding (私の意見はこれかな) > * default external > * それ以外 script encodingかなあ。 こっちは実装のイメージがわきません。