Ruby勉強

インターネットの企画職な人がプログラミングを勉強するブログ

Ruby 特異メソッドとダックタイピング

特異メソッドはこういった変数に入ったStringオブジェクトにも追加可能 ・オープンクラス ・Refinements これらを作成するほどでもない特定箇所でのメソッド利用の場合は、お手軽にこういうものが使える。 厳密なクラス定義に拠らないところが特徴。 ダックタイピング(walk とquackを振る舞う動物ならそれはもうDuckだろう)という考え方

str = "FUGA"

def str.isUpcase?
  self.upcase == self
end

p str.isUpcase? #=> true
p str.methods.grep(/^is/) #=> [:isUpcase?, :is_a?]