Ruby
stackoverflow.com Rangeを使ってエレガントに書ける。凄い!
Ruby on Railsチュートリアルで、これは覚えておかないといつか間違えそうだと思った時間比較があったのでメモ。 以下のコードの意味 #reset_sent_atはDateTime型 reset_sent_at < 2.hours.ago これは、「reset_sent_atが2時間以上前か」どうかを比較してい…
メタプログラミング? ざっくり言うとプログラムでプログラムを作る。 Rubyはメタプログラミングの柔軟性が強力すぎるゆえ、 Ruby on Railsはじめ色んな所で「黒魔術」と呼ばれている。 実際どんなの? sendメソッドを使用し、引数にオブジェクトが持つメソ…
Rubyクラス名はキャメルケース、ファイル名はスネークケースという謎…
文字列と文字列.inspectの比較 >> puts :name, :name.inspect name :name >> puts "It worked!", "It worked!".inspect It worked! "It worked!" putsと.inspectの組み合わせはpで代用できる >> p :name # Same output as 'puts :name.inspect' :name
当然っちゃ当然なんだけど、継承して作ったクラスは継承元のinitializeも呼んでいる。 以下の様にベースのクラスUserとUserを継承したSuperUserというものを作ってみる。 class User @@count =0 # Class var def initialize(name) @name = name # instance v…