タグ

ブックマーク / kenkiti.hatenadiary.jp (2)

  • X営業日前の日付を求める ruby スクリプト - Λάδι Βιώσας

    ある銘柄の株価の移動平均を求めたい場合、期間を指定して株価データを取得することが多いです。この時、たとえば、25日分の株価データが欲しいなんて思った場合、単純に25日前の日付を求めるのではなく、営業日ベースで日付の計算をする必要があります。 この営業日の計算、なんか何度も同じことやってる気がするので、忘れないようにダイアリーにメモをしておきます。 準備 祝日判定ライブラリの holiday_japan をインストールします。株価情報を弄りたい人は JpStock もインストールしましょう。 gem install holiday_japan gem install jpstock X営業日前の日付の計算 こんな感じで↓ require "holiday_japan" class Date def business_days_before(i) date = self i.times.eac

    X営業日前の日付を求める ruby スクリプト - Λάδι Βιώσας
    seuzo
    seuzo 2013/09/11
  • ruby の inject をわかりやすく説明してみる - Λάδι Βιώσας

    ruby の inject って慣れないと少し理解しづらいよなーと思ったので、極力わかりやすい説明をしてみるテスト。 わかりやすいかもしれない説明 さて、1 から 10 までの合計を求めるこんな↓コードがあった場合 sum = 0 (1..10).each {|i| sum = sum + i } p sum # => 55 inject を使ってこのよう↓に書けます。 p (1..10).inject(0) {|sum, i| sum + i } each と inject でどのように書き変わってるかを図で示すとこんな↓感じ。 injectの引数 0 は、ブロックローカルな sum 変数の初期値になってます。で、ブロックの実行結果の値が sum に代入されて、2回目以降のループを実行します。ループしている間の、各変数とブロックの中身はこんな↓感じ。 sum i ブロックの中身(sum

    ruby の inject をわかりやすく説明してみる - Λάδι Βιώσας
    seuzo
    seuzo 2011/01/25
  • 1