From: "中村暁史" Date: 1999-02-18T21:49:11+09:00 Subject: [ruby-list:12167] Re: Number with unit お世話になっております。 A.中村です。 On Thu, 18 Feb 1999 21:02:36 +0900 Jun Adachi wrote: ->最近の、様々な精度の数の話題に、少しインスパイアされました。単位つきの ->数というのは、どう設計して、どう実装したらよいもんでしょうか。 100%受け売りモードですが(^^;。 nifty/fprogpro/6に参戦してて、数ヶ月前に 「アナリシスパターン」って本の輪講をやったです。 んで、この本の最初のほうに、丁度単位の話がありまして… #マーチンファウラーとかいう人が著者だったかな。 詳細を思い出すのはちょっと困難、つーか 週末毎に出張先Bから出張先Aへ帰還(笑)した時でないと 読めないんで、中身はホエホエ状態な俺ですが… ちょっと一ひねりきいたooの話の本です。 #そういや輪講で「これってooなのか?」と唸ってた人もいたなあ。 パワータイプとかいう言葉が山のように出てきて…。 ->2) 複合単位を許容するには、どうしたらよいか? 単位classにcompositeパターンを適用する、だったかな。 ->3) インチ系<==>メートル系のように、あきらかに変換に誤差を含む場合に、 ->どのようにすれば、誤差を少なくできるか? う。これは該当書にもなかったなあ。 ただ、単位を込みにした数量オブジェクトは、計算を先延ばしして 誤差を最小に抑えることってできそうですよね。 #AmountClassっていってたかなあ。 ->#やっぱり、式を自分で分解して各単位ごとに計算するようにしないといけな ->#いんでしょうか?これで、私は果ててしまったのですが。 つーか、単位がかみ合わないときは例外で刎ねるべきだし、 かみ合う場合は、数量オブジェクトの中の単位オブジェクトを 単位演算(なんてんでしょう正式には?長さと時間^-1を掛けたら 速度になるぞとかいうアレ)によって新しいオブジェクトに 置き換えるということをするんでないでしょうか。 #実際に単位オブジェクトのインスタンスを数量オブジェクトの #数だけ持つべきか、単位compositeのleaf一つづつを単なる参照と #して、別んとこにインスタンス持つべきか、とかもありますが。 基本単位と派生単位のclassおよびcompositeのtree構造を しっかり企画(^^;しとくと、それなりに自動処理っぽくし易い んではないかなと…妄想。 ->えーっと、あらかじめ断っておきますが、これは皆様への知的チャレンジには ->違いないのですが、私が賢い解答を持っているわけではないです。(_O_) という訳で、おらも単に買ってきた本の話でした。 本日の俺ruby度: PocketBSD用グラフィックライブラリ「MGL」とRubyを繋げてみました。 Ruby言語仕様もろくに覚えてないうちから何たる不届きなことを。 でもRuby(の外部module関係)とMGLの双方のmanualが平明だったんで 俺でも出来ました。MobileGearオンリー環境(gcc)で作れてしまって感激。 それにしてもMGL、「画面環境のpush/pop」っていう概念があるんですが こーいうのがあると、Rubyみたいなoo言語に刷りあわせるのって 辛いような気がするのでした(^^; #説明にも特に書いていませんでしたが、「moduleもまたobject」ってことは #呼ばれるC関数の第一引数はmoduleオブジェクトなんですよね?