У вас есть пара вариантов.
Во-первых, вы можете запустить вашу программу с опцией -W0
, которая отключит все предупреждения. Это, вероятно, не то, что вы хотите.
Однако применение -W0
аналогично установке $VERBOSE
в nil
- так что мы можем просто сделать это вокруг кода, где мы хотим подавить предупреждения. Это второй и гораздо более предпочтительный вариант.
def suppress_all_warnings
old_verbose = $VERBOSE
begin
$VERBOSE = nil
yield if block_given?
ensure
# always re-set to old value, even if block raises an exception
$VERBOSE = old_verbose
end
end
puts "Starting"
MyConst = 1
MyConst = 2
suppress_all_warnings do
GC.disable
end
puts "Done"
Запуск этого с JRuby 1.5.0 правильно предупреждает меня о повторной инициализации константы и корректно подавляет предупреждение GC.disable
.