panacoran
panac****@yahoo*****
2004年 3月 14日 (日) 21:37:01 JST
Wikiでは設計の変更履歴や理由を完全に残せないので、議論はメールを 中心に行ったほうがよいと思います。白板や議事録の代わりとしては積 極的に利用しましょう。 言語の互換性については、ほぼ完全に残したいです。なんといってもTIlib 全書き換えは避けたいですから。 オブジェクト指向化についてはPythonを参考にしましょう。完全に互換 性を残したままいけるはずです。ポイントはインスタンス変数やメソッ ドを指すために必ずselfを使うことにあります。 以前荒井さんが書いた例を、Pythonを参考にオブジェクト指向化した言 語で書き直したものを示してみます。 class MA def Initialize(days) self.days = days self.at = at self.index = Index self.sum = 0.0 i = 0 while (i < self.days) self.sum += {self.at - i}Close i += 1 end end def Value if (Index != self.index) self.sum -= {-self.days}Close self.sum += Close self.index = Index end return self.sum/self.days end class System def Initialize self.ma20_5 = {-5}MA.New(20) def Main ma20_5 = self.ma20_5.Value r = ({-5}Close - ma20_5)/ma20_5 if (r <= -10) Buy(100) end end end Pythonに習うのなら、オブジェクトの生成は MA.New(20) ではなく MA(20) とするべきですが、普通の関数の呼び出しとまぎらわしいので、明示的 に示す方式を採ってみました。まぎらわしいからといって、従来の関数 呼び出しを廃止したくはないですしね。 -- panacoran __________________________________________________ Do You Yahoo!? http://bb.yahoo.co.jp/