Vous avez quelques options. D'abord, vous pouvez exécuter votre programme avec l'option -W0
qui désactive tous les avertissements. Ce n'est probablement pas ce que tu veux. Toutefois, l'application -W0
est la même que la définition de $VERBOSE
à nil
- nous pouvons donc simplement faire cela autour du code où nous voulons supprimer les avertissements. C'est la deuxième option et beaucoup plus préférable.
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"
L'exécution de ce avec JRuby 1.5.0 correctement me met en garde contre la constante réinitialisée et supprime correctement l'avertissement GC.disable
.
Très bonne et informative. Merci! – makenai