メタプログラミングRuby 第9章 安全なメタプログラミング その3
危険なメタプログラミングを防ぐ話題は続きのほうにありました。今日は9.2 「モンキーパッチを防ぐ」からです
- オープンクラスを無制限に使うのでなく、モジュールを作って include する → ancestors に出る
- 動的メソッドを定義する時は先に同名のメソッドが存在しないか確認する
- 継承したメソッドはどうするか
- 衝突した時にはどうするか
- というあたりはケースバイケース
ここで第9章も終わり、第2部を読み終えました。引き続き第3部の付録に行きます。
付録A 「よく使うイディオム」
- A.1 ミミックメソッド
- ローカル変数の代入とカレントオブジェクトの属性の代入(attr= メソッドの呼び出し)が曖昧な時はローカル変数の代入としてパースされる
今日はここまでです。