From: Masao Mutoh Date: 2005-09-09T02:26:14+09:00 Subject: [ruby-dev:26994] Re: about Ruby-GetText むとうです。 On Thu, 8 Sep 2005 08:26:49 +0900 Yukihiro Matsumoto wrote: > まつもと ゆきひろです > > In message "Re: [ruby-dev:26981] Re: about Ruby-GetText" > on Thu, 8 Sep 2005 01:22:42 +0900, Masao Mutoh writes: > > |Ruby-GetText-PackageではLC_CTYPEだけ呼んでます。 > |私の理解では、ctype.hに載ってる関数が影響を受けるだけなので、 > |数値関係は大丈夫なんじゃないかと....。影響受けるのは > |isalnum, isalpha, isascii, isblank, iscntrl, isdigit, isgraph, islower, > |isprint, ispunct, isspace, isupper, isxdigit あたりでしょうか。 > > この辺も使ってますからねえ。どういう影響があるか事前に見積も > るのは難しいですね。 なるほど....。 > |まぁ、でも、「まだ残ってるかも」ということは、残っていることが > |わかったら、Ruby側で対処して頂けると言うことでしょうか。 > |それなら、呼ぶこと自体は問題なさそうですね。 > > 対処するつもりはありますが、呼んだときに発生する問題がすぐに > 解決できるとは限らないことには留意してください。 了解しました。とにかくsetlocaleに依存しないでも済むような方向で 考えていきます。 > |---- > |それと、ちょっと脱線しちゃうのですが質問があります。 > |今後、RubyのLocale関係って何かイメージされたものがありますか? > |実装するとしたら、どんな実装が良いのでしょう。 > | > |1. setlocaleに依存 > | > |2. setlocaleに非依存 > |2-1. 環境変数LANG/LC_ALL等が設定されていたら、現在のStringやDateの > | 各メソッド等が返す文字列自体をローカライズして返してしまう。 > |2-2. StringやDateの既存メソッドを上書きしてしまうといつどんなロケール > |   で変な動きをするか、元のプログラマは想定できない場合が多い。 > |   ロケール関係はせいぜい表示時に変換できればいいだろうから、 > |   例えば、Locale.date(Date)みたいにロケール関係を集めたモジュール > |   を作る。 > |2-3. 2-2.と同様だけど、例えば、Date#to_localeみたいなメソッドも追加 > |   する。 > | > |ホントに質問したい内容は、1.か、2.か、というところです。 > |あとの2-1,2,3は単なる興味です(個人的には2-2,3かなとは思ってますが)。 > > Cのlocaleモデルは同時にひとつしか扱えない(ですよね?)ので、 > あまりうれしくないと思ってます。スレッドセーフにできないし。 > だからできれば「setlocale非依存」にできるといいなあと思って > います。それ以上のことはまだ考えていません。 了解しました。 だいぶすっきりしました。 Locale周りは実装の見直しを考えます。 ありがとうございました。 -- .:% Masao Mutoh