今週も引き続き。
Ruby自体の説明が終わり、プログラムの説明に。
今回は、
ヤフーファイナンスから上場市場別に、銘柄コード、単元株数を取り出し、
指定のファイルに書き込んで行く。
ところまでで一段落。
前回は、
配列はハッシュなどデータの扱いと、繰り返し文などの基本構文を学んだ。
そこから進んで、
1.WEB上のHTMLを読み込み、
2.そのページの文字の中から、銘柄コードや単元株数を特定し、
3.取り出した情報をファイルに書き込む。
という一連の手順。
1と3はファイルへのアクセスで、前回の続き柄、理解はそう難しくない。
dataというサブディレクトリにファイルが保存されるのだが、
若干留意が必要なのは、
ファイル書き出しでFileクラスとdo構文を使い、かつcloseを呼び出さない。
という、こなれた書き方をしてる点。
ま、そういう作法なんだと、慣れが必要。
参考
https://sites.google.com/site/rubycocoamemo/Home/ruby-guan-lian/file-dumi-shuki
で更に、
2のところは若干の曲者で、正規表現というものが登場する。
ここだけちょっと面倒くさい。
文字の並びのパターンを指定して、
プログラムにそれがマッチしてるかどうかを判定させるための表現。
本書の中でも、丁寧に解説されている。
他に、入門としては↓の電話番号の例が分かりやすいかな。
http://qiita.com/jnchito/items/893c887fbf19e17d3ff9
あと一口に正規表現といっても、若干流派があるので、
Rubyの正規表現
https://docs.ruby-lang.org/ja/latest/doc/spec=2fregexp.html
を上げておく。
でプログラムの意味が大体理解できたところで、プログラムの実行なのだが、
コマンドプロンプトのディレクトリの位置がtrade_ simulatorでないとエラー、
Rubyは動作がとても遅い。
この辺はちょっと邪魔くさい感じがします。
質問コーナー、お問い合わせは、sanpome.net@gmail.com まで。