実装したインジケータの読み込み、Rubyのダサさに呆れる。 <株入門>

やっとインジケータの実装に進みます。
でも、もうひとつだけ、準備があります。

 

●移動平均
●移動平均乖離率
●移動平均の方向
●真の値幅の平均(ATR:AverageTrueRange) 

を実装するとのこと。おお、期待高まる。
 
で、最初に約束ごとの確認。
今までどおりのネーミングルールに準じること。
Indicatorの子クラスとしての実装すること。
ま、当たり前だ。
 
あと、
長短二本の線のクロスとか、複数の指標が必要な場合は、
配列で返すのでなく、配列のハッシュ(マップ、連想配列とも言う)で返す。
という約束ごとも決めてる。
ま、Rubyは型チェックもないし、暗黙の約束でしかないのだが。

で、早速実装に取り掛かりたいのだが、
もうひと工夫必要とのこと。
実装した子クラスをrequire(読み込み)しなければ、他で利用できないということ。
これでは、追加したら、既存の多くのファイルを手直ししなきゃならない。
何だそれ、Rubyってダサいな。importはあってpackageはないのか。
autoloadという関数を使って、所定のフォルダにあるファイルを動的に読み込んでいる。
 
ファイル名とクラス名の関連付けのネーミングルールを自前で決めていたのも、
動的に読み込む為だったのか。
ヤラねばならない工夫だが、こんなこと強いるなら、
死ぬほどダサいRubyは。
 
ところで、クラス名を渡せば、動的生成とかRubyは出来るのかな。
Rubyでもリフレクション出来るらしいので、答えはyesらしい。

最終的には、
インジケータの子クラスの名前を外部ファイルに設定するだけとかにして、
シミュレータは動かしたいところだが、
まあ、コンパイルしないんだから、それはあまり関係ないかもしれない。

絶滅しそうなプログラミング言語5個に「Ruby」が選ばれた。
http://developers.srad.jp/story/14/10/10/2155216

らしいが、当然だよ。

いや、COBOLが生き残ってるという意味でよけりゃ生き残るだろうけど、
COBOLのように主流じゃなくなる言語って意味だろ。
今から、COBOL覚えて生計立てようって人はあんま居ないと思うよ。

 
Perlは同じ用途でより簡単なの増えた。
それ以外は、動作する環境が時代遅れになってるから仕方ない。
その中で選ばれるRubyはちょっと別格だね。
使い手のことより、作り手が趣味に走りすぎじゃね。

覚えるべきの方は、C#は需要あるのかな。
Swiftって伸びるのかな、どんな言語か知らんけど。

おっと、脱線が過ぎた。
とにかくも、後から追加するインジケータの小クラスを読み込む為には、
base.rbをrequireする。
その内容は理解してもいいけど、
本来、プログラミングで対応するんじゃなくて、言語側でサポートしやがれ、
って内容だから、
必要なときは、自作のおまじないを一行先頭に追加する。 
って理解でもいいんじゃないかな。
 
次回ようやく、インジケータの実装に入ります。
 

 
質問コーナー、お問い合わせは、sanpome.net@gmail.com まで。

  
 

社会・経済ニュース ブログランキングへ

にほんブログ村 海外生活ブログへ
にほんブログ村

カテゴリー: 株式投資, 株式投資入門はじめました2016.05 タグ: , , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*