2015-01-01から1年間の記事一覧

$LOAD_PATH.unshift File.join(File.dirname(__FILE__), *%w[.. lib]) の意味

Serverspecのbin/serverspec-initに書かれていた一行です。 $LOAD_PATH.unshift File.join(File.dirname(__FILE__), *%w[.. lib]) 趣旨 $LOAD_PATH に実行中のファイルのディレクトリから ../lib の場所を追加する。 $LOAD_PATH に lib ディレクトリの位置を…

日付の期間を扱いやすくする PHP ライブラリ DateRange を作りました

PHP

ある日付がある期間に含まれているかどうかやある期間とある期間が重なっているかどうかを検査したりする機能を提供するライブラリを作りました。 GitHub https://github.com/suzuki86/DateRange GitHub Page http://suzuki86.github.io/DateRange/ 使い方 D…

委譲の使いどころ

委譲について調べたので記録を残しておきます。 参考 Rubyでdelegation(委譲)を簡単にする2つの方法 http://qiita.com/w650/items/671cc9c49b2ebf60620d 「継承より委譲」≠「継承使うな」 http://osa.hatenablog.com/entry/2014/08/28/204853 まとめ Ruby で…

配列の要素の中で特定の条件を満たす要素を取り出す

partition メソッドを使うことで特定の条件を満たす要素を取り出すことができます。 下記は [1,9,3,15,5] という配列から 4 以上の要素を変数 a に、3 未満の要素を変数 b に代入します。 a, b = [1,9,3,15,5].partition{ |item| item > 3 }

特異メソッドから直接インスタンスメソッドは呼び出せない

下記のような書き方をするとエラーになる。 class A def self.speak say_hello end def say_hello puts "Hello" end end A.speak # undefined local variable or method というエラーが表示される。 self.speakメソッドの中で自分自身のクラスをnewすると呼…

qrank に新着記事一覧を追加しました

qrank に新着記事を一覧表示するページを追加しました。Qiitaはログインしないと新着記事の一覧を見られないので、多少便利かと思います。 qrank | Qiitaの人気記事ランキング