Скрыть вывод команды с помощью Ruby 2.6

Я не уверен, что это ошибка или новая функция Ruby 2.6, но после обновления 2.3 -> 2.6 мой терминал IRB не ведет себя как обычно и больше не может скрывать выходные данные. Раньше, когда я набирал точку с запятой, он ждал получения следующей инструкции без точки с запятой, чтобы запустить весь код и скрыть значения с точкой с запятой.

2.6.3 :008 > 1 + 1
 => 2
2.6.3 :009 > 1 + 1;
 => 2 
2.6.3 :010 > (1 + 1);
 => 2
2.6.3 :011 > very_large_inspect_result;
 => [console keeps printing for ages)

Использование ruby-2.6.3 [ x86_64 ] и терминала IRB от rails-5.1.6

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

РЕДАКТИРОВАТЬ: я мог бы систематически добавлять 0 или что-то в этом роде после точки с запятой, но это кажется дешевым

2.6.3 :010 > (1 + 1); 0
 => 0

EDIT2: что произошло ранее в Ruby 2.3.x:

irb(main):001:0> puts 1;
irb(main):002:0* puts 2;
irb(main):003:0* puts 3
1
2
3
=> nil

person Cyril Duchon-Doris    schedule 28.08.2019    source источник
comment
stackoverflow.com/questions/4678732 /   -  person Pavel Oganesyan    schedule 28.08.2019
comment
Pry подавляет вывод при добавлении ; и обычно предлагает несколько приятных дополнений по сравнению с irb.   -  person Michael Kohl    schedule 28.08.2019
comment
Вы также можете сделать это out = $stdout and $stdout = File.open(File::NULL,'w'), а затем, когда вы закончите, просто установите $stdout = out для сброса выходного потока. По сути, это похоже на передачу в /dev/null.   -  person engineersmnky    schedule 28.08.2019


Ответы (1)


Запустите приведенную ниже команду в терминале IRB.

irb_context.echo = false
person Girish Bhanarkar    schedule 28.08.2019
comment
Это будет применяться для всех возможностей - person ray; 28.08.2019
comment
Не уверен, но думаю будет. - person Girish Bhanarkar; 29.08.2019
comment
это не работает ? Я отредактировал свой вопрос, чтобы привести пример того, что произошло в RUby 2.3 до того, как я обновился до Ruby 2.6. - person Cyril Duchon-Doris; 28.05.2020