中村 のりつぐ です。

In article <20020317025451.2B24.ZN / mbf.nifty.com> 
Kazuhiro NISHIYAMA <zn / mbf.nifty.com> wrote:
> > 本当は以下 3) のような感じが一番簡単そうなのですが、
> > やり方が分かりません。
> > o -K? の指定と require する漢字コードが矛盾して
> >   混在するようなことはできるでしょうか?
> > o スマートなやり方はあるでしょうか?
> > 
> > 
> > 3) EUC, SJIS 混在
> >    body.rb  EUC  (for UNIX and Win)
> >    ui_1.rb  EUC  (for UNIX)
> >    ui_2.rb  SJIS (for Win)
> 
> requireする代わりにui_?.rbをreadしてkconvで変換してevalと
> いうのはどうでしょうか?

Ruby の場合は read & eval も require とほぼ同様の
動作をするんでしたっけ?(Python はちょっと違うみたいな
気がしましたが)それならそういう戦略もありかも

ただ、今回の場合、(私も書いたときには意識していなかったのですが、)
ui_2.rb での GUI でのやりとりが SJIS で行われているので、
body.rb 自体を EUC と認識しつつ SJIS としてデータを
格納するということが必要みたいです。([ruby-list:34452] の話?)


o body.rb を読み込む
o EUC と認識しつつ SJIS に変換
o SJIS ファイルとして -Ks 相当で parse
o require も -Ks 相当で

# ちょっとむしが良すぎかも…


とりあえず今のところファイルは全て EUC に揃えて
ui_2.rb 内部でコード変換するようにしました。

       中村 典嗣  E-mail:     nnakamur / mxq.mesh.ne.jp