Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 1

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

big_result(input); 0

Ответ 2

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

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

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

Ответ 3

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

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

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

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