【関数】Erlang【エリクソン】at TECH
【関数】Erlang【エリクソン】 - 暇つぶし2ch178:デフォルトの名無しさん
07/05/17 20:55:33
亀だが、>>174 それを実現するにはどうすればいいと思う?
↓な案を考えてみたんだが、おまいらの意見を聞かせて欲しい。
(と、えらそーなことを言いつつerlang初心者なのだが)

■コンパイラ編
ソースの先頭に、
-encoding(utf8).
があると、UTF-8文字1文字をlistの要素1個として扱う。(とりあえずはutf8だけサポート)
compile.erlで、ファイルから読んできたバイナリをリストに変換するところ
(scan_core:string()を読んでるあたり)に小細工すればなんとかなるんじゃないだろか。

■ライブラリ編
案1 driverなどは基本的にいじらない方向で、driverとお話しする部分でUTF-8⇔UTF-32変換する。
利点: 楽。後方互換性(ぶっちゃけlatin1対応)が維持しやすい。
欠点: Unicodeに対応しないものはずっとそのまま。
案1-A io, io_lib の Unicode 版 uio, uio_lib (仮称)を作る。
案1-B io, io_lib の文字列を受けとるパラメータ部分に、{ustring, USTRING} (仮)を受け付けるようにする。
(ustringは仮のatom、USTRINGはUTF-32で表現される文字列)

案2 IoDeviceにencoding属性のようなものを用意する。
利点: 少なくとも入出力については、国際化が容易になる。
欠点: 変更点多過ぎ。また、io_libのようにIoDeviceに結び付いていないものは後方互換性の維持が困難。

とりあえず思い付いた範囲はこんなとこ。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch