Techioz Blog

クラスの印刷出力を変更する方法

概要

大きなインスタンス変数がアタッチされたクラスがいくつかあります。これらのクラスを初期化すると、それらにアタッチされている大きなインスタンス変数も一緒に出力されるため、出力がシェル全体を占有し、少々面倒になります。これを回避するために、クラスの出力がターミナルに返されたときにどのようになるかをオーバーライドする方法はありますか?

解決策

あなたが言っていることがわかります。時々、複数の画面をプリントアウトしたオブジェクトを操作する必要があります。単一のオブジェクトではない場合、それはコレクションです。

画面が溢れるのを防ぐためにこれを行います

my_obj = get_a_huge_object_or_collection; nil

この場合、nil がこの式の値となり出力されます。

ただし、オブジェクトのコンソールへの出力方法を永続的に変更したい場合は、inspect をオーバーライドできます。