irbやpryでRubyの挙動を実験してる時に
こんなようなミスをして、あ、継承するの忘れた、と思って続けざまに
こんなミスをしてしまい、pryを再起動するかーってなるんですけど、クラスBを忘れさせる方法がこちらに紹介されてました。
how to undefine class in ruby?
定数定義を削除してしまうんですね。この例ではremove_const
はprivateなので直接呼び出せないためsendを使っていますが、class_eval
で中に入って実行するという方法も良さそうです。
私はしばしばやるので~/.pryrcに
と書いておいてrm_const
だけで呼び出せるようにしちゃいました。