技術ブログ

(技術系中心)基本自分用備忘録なので、あくまで参考程度でお願いします。

モンキーパッチ

モンキーパッチ

Rubyのモンキーパッチについて

概要

モンキーパッチとは既存の実装を上書きして、自分が期待する挙動に変更することを表す言葉です。 しかし、不適切に挙動を上書きすると実装全体の動きがおかしくなることがあるので注意が必要。

class Sports
  def initialize(name)
    @sports = sports
  end

  def favorite
    "My favorite sports is #{@sports}"
  end
end

sports = Sports.new("soccer")
sports.favorite
#=> "My favorite sports is soccer"

class Sports
  def favorite
    "#{@sports} is awesome"
  end
end

sports.favorite
#=> "soccer is awesome"

参考

伊藤 淳一. プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発デバッグ技法まで