2016年12月4日日曜日

最近の日記から - 最近rubyとかやってます

Rubyの文法チェックについて
ruby -w -c source.file で何とかしてみる。

emacsのキーバインド
流石に10年以上殆ど使ってないので忘れている、使えるのはMac OSXでも普通に使える上下左右ぐらい。今日はM-g g (goto line)を思い出した、って言うと、何となくゲームっぽい。

次はStockListLoaderのエラー対策をしよう。PriceGetで株価ページをアクセスするときのエラー処理も参考にしよう。

ヤフーの株価ページ、最初のやり方だと小数点以下の数字が入っている行が取れなかった。

# 修正後 - 端数があっても拾える
%r!(\d{4}年\d{1,2}月\d{1,2}日)((?:\d|[,.])+)((?:\d|[,.])+)((?:\d|[,.])+)((?:\d|[,.])+)((?:\\d|[,.])+)
((?:\d|[,.])+)!
# 修正前 - 端数があると拾えない
%r!(\d{4}年\d{1,2}月\d{1,2}日)((?:\d|,)+)((?:\d|,)+)((?:\d|,)+)((?:\d|,)+)((?:\d|,)+)\>((?:\d|,)+)! 

ちなみにscanへ与える正規表現がちゃんとしていないと帰ってこなくなる模様。例えば以下のような感じで、dと[,.]の間にあるべき
|を省いたらエラーも何も吐かずに沈黙してしまった。


%r!(\d{4}年\d{1,2}月\d{1,2}日)((?:\d|[,.])+)((?:\d|[,.])+)((?:\d|[,.])+)((?:\d[,.])+)
((?:\\d|[,.])+)((?:\d|[,.])+)!

0 件のコメント: