Как подавить вывод возвращаемого значения в консоли IRB/Rails?
Примером является, если я перейду в IRB и сделаю следующее:
jruby-1.6.7 :026 > puts [1,2,3,4,5]
1
2
3
4
5
=> nil
Есть ли способ подавить nil
? Проблема в том, что если я помещаю в большую структуру данных, она спамает что-то другое нерелевантное ответное сообщение. Меня больше интересует вывод от операторов отладки, которые я запускаю через блок, и вам приходится постоянно прокручивать вверх и искать реальные данные.
Ответы
Ответ 1
Если вы хотите время от времени подавлять длительный вывод, используйте ;0
, например:
a = [*1..10000];0
# => 0
Если вы хотите его вообще подавить, используйте файл ~/.irbrc. IRB.conf [: INSPECT_MODE] и IRB.conf [: PROMPT] [your_prompt] [: RETURN] управляют возвратом. Вы можете выяснить, что такое your_prompt, проверив IRB.conf [: PROMPT_MODE]
Пример:
IRB.conf[:PROMPT][:DEFAULT][:RETURN] = "" # suppress return value completely
Вам нужно перезапустить irb после изменения значения.
Надеюсь, что это поможет.
Ответ 2
Вы также можете подавить вывод следующей командой: irb --simple-prompt --noecho
.
Найдите ниже:
@ubuntu:~$ irb --simple-prompt
>> puts "hi"
hi
=> nil
>> p "hi"
"hi"
=> "hi"
>> exit
@ubuntu:~$ irb --simple-prompt --noecho
>> puts "hi"
hi
>> p "hi"
"hi"
>>
Надеюсь, с тобой все будет в порядке.
Я использую рубиновую версию, как показано ниже:
@ubuntu:~$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
Ответ 3
От мертвой ссылки @Tallboy
Чтобы подавить возвращаемое значение в консоли Rails, введите
conf.return_format = ""
По умолчанию (печать возвращаемого значения)
conf.return_format = "=> %s\n"