たとえば、特定のモデルのすべてのインスタンスをループしてそれぞれから何かを出力した場合、最後にirbはオブジェクト全体を出力します。
オブジェクトが数百行を占めることになった場合、実際に探していたものが表示されるまでにはかなりの時間がかかります。Railsコンソールでこれを無効にする方法はありますか?
回答:
を呼び出すconf.echo = false
と、戻り値は出力されません。これは、Railsコンソールだけでなく、すべてのirbセッションで機能します。
永続的にしたい場合は、irb設定に追加してください。
echo 'IRB.conf[:ECHO] = false' >> $HOME/.irbrc
IRB.conf[:ECHO] = false
に私の.irbrcファイルで行を投げるだけでそれを処理することがわかりました。もちろん、それは私のすべてのirbセッションでエコーのターンにもなりますが、私はそれで大丈夫です。
コンソールによる戻り値の出力を一時的に停止するにnil
は、ループまたは関数の最後で、戻り値を押す前にステートメントを発行できます。
record.each do |r|
puts r.properties
end; nil
または、入力を減らしたい場合は、数字にすることもできます。しかし、それは私が考えることができないシナリオでは混乱する可能性があります。
record.each do |r|
puts r.properties
end; 0