🦔

irbでdumpを抑制したい場合

2022/10/25に公開

irbを使っているとき、RailsのActiveRecordなどで、大きなデータをフェッチすると、コンソールが大量に流れてしまうことってありませんか?

僕は、一旦変数に格納して、あれこれデバッグすることがよくあります。

かつてはpryを使っていたので、以下のようにすれば、dumpが出力されることはありませんでした。

# 行末に`;`をつける
users = Users.all;

しかし、irbではこれは使えません😢

一応抑制する方法としては存在していて、configに出力するかの設定があります。
それがconf.echoです。

irb実行中も変更できますし、irb起動時にも指定できます。

irb(main):001:0> conf.echo
=> true
irb(main):002:0> a = 'a'
=> "a"
irb(main):003:0> conf.echo = false
irb(main):004:0> a = 'a'
irb(main):005:0> p a
"a"

その他にも、irbにはいろいろな設定がありますので、公式ドキュメントを見ると良いかもしれません。
https://docs.ruby-lang.org/ja/latest/library/irb.html

と、備忘録チックに書きましたが、毎回confを書き換えるのは面倒なので、多分使いません...😇

もっとお手軽に切り替えできる方法をご存知の方がいらっしゃいましたら、教えていただけますと幸いです🙏

Discussion