90

たとえば、特定のモデルのすべてのインスタンスをループして、それぞれから何かを出力すると、最後に、irb はオブジェクト全体を出力します。

オブジェクトが何百行もかかる場合は、実際に探していたものを確認するまでに長い道のりが必要です。Railsコンソールでこれを無効にする方法はありますか?

4

4 に答える 4

118

通常、エコーを無効にしたくない場合は、1 つのコマンド ラインで複数の式を呼び出すこともできます。最後の式の出力のみが表示されます。

big_result(input); 0
于 2012-11-08T08:47:36.813 に答える
104

呼び出しconf.echo = falseても、戻り値は出力されません。これは、Rails コンソールだけでなく、任意の irb セッションで機能します。

永続的にしたい場合は、irb 設定に追加してください。

echo 'IRB.conf[:ECHO] = false' >> $HOME/.irbrc
于 2012-11-08T07:20:43.583 に答える
46

コンソールが戻り値を出力するのを一時的に停止するにnilは、ループまたは関数の最後でリターンを押す前にステートメントを発行できます。

record.each do |r|
  puts r.properties
end; nil

または、入力を減らしたい場合は、数値にすることもできます。しかし、シナリオでは混乱する可能性があり、私には考えられません。

record.each do |r|
  puts r.properties
end; 0
于 2012-11-27T11:27:56.690 に答える