Остановить консоль rails от печати объекта в конце цикла


Если я, скажем, пройду через все экземпляры данной модели и выведу что-то из каждого, в конце irb все равно напечатает весь объект.

Если объект в конечном итоге занимает сотни строк, это будет долгий путь, прежде чем я увижу, что я на самом деле искал. Есть ли способ отключить это в консоли рельсы?

3 62

3 ответа:

Если вы не хотите отключать эхо в целом, вы также можете вызвать несколько выражений в одной командной строке. Будет отображаться только вывод последнего выражения.

big_result(input); 0

вызов conf.echo = false и он не будет печатать возвращаемое значение. Это работает для любого сеанса irb, а не только для консоли Rails.

Если вы хотите сделать его постоянным, добавьте его в свою конфигурацию irb.

echo 'IRB.conf[:ECHO] = false' >> $HOME/.irbrc

чтобы временно остановить консоль от печати возвращаемых значений, вы можете выдать nil заявление в конце цикла или функции, но перед нажатием кнопки возврата.

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

или это может быть число тоже, если вы хотите уменьшить ввод текста. Но это может быть запутанным в сценариях, о которых я не могу думать.

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