引き続きです。まだ株の話じゃないけれど。
前回は、
ヤフーファイナンスのページから銘柄情報を読み取り、
ファイルに書き出す。
という作業。
今回は、
ファイルから銘柄情報をプログラム内のデータ構造に取り込む作業。
配列のメソッド map,find_all,include? と、
演算子 =|| 、
の使い方が分かれば、説明を追っかけて行けます。
それでほぼ問題はないのですが、、
最後にselfを返す。というテクニックがあります。
ちょっと、コードっぽいこと書きます。
def あるメソッド
何か処理をする。
self
end
def 別のメソッド
何か処理をする。
end
こうしておけば、以下のように、[.]で繋いで、次々とメソッドを呼び出せる。
オブジェクト.あるメソッド.別のメソッド
これって、そんなに良いことでしょうか?
こう↓、二行で書くことよりそんなに優れてますか?
オブジェクト.あるメソッド
オブジェクト.別のメソッド
簡潔には書けるけど、わかりやすさは減ってる気がする。
理解してる自分はいいけど、他人のコードをメンテナンスするにはマイナス。
ま、ルーズなところが、好きな人にはサクサク進む快感なんだろうけど、
慣れてないこともあって、ちょっとストレス感じました。
ま、原理は分かったので、嫌なら別の言語で自分で書けよ、
ってことですけどね。
とりあえず、ヤフーファイナンスからデータ取って、
ロジックのバックテスト出来るとこまで、進んでしまいましょう。
と、ここまで書いて、重大な問題に気づいたのですが、
それは明日書きます。
質問コーナー、お問い合わせは、sanpome.net@gmail.com まで。