2017-09-28 7 views
0

Je voudrais que mon script puisse fonctionner sans avertissement. Quelle est la syntaxe Ruby appropriée pour éviter les avertissements comme celui-ci? Merci! --MylesComment empêcher l'avertissement «parenthèse après le nom de la méthode» de ruby ​​-w

def absolutize_all_config_var_paths (in_var) 
    ... 
end 

ruby -w ./scripts/run_flow 
./scripts/run_flow:742: warning: parentheses after method name is interpreted as an argument list, not a decomposed argument 

la version Ruby ruby 2.4.1p111

+0

Vous pouvez supprimer l'avertissement en ajoutant '-W0' à la ligne de commande ou en définissant l'une des variables globales '$ -v',' $ -w', '$ VERBOSE' à' nil'. Pourquoi on voudrait masquer les erreurs potentielles, cependant, est au-delà de moi. Mieux vaut corriger le code afin que l'avertissement n'apparaisse pas. –

+0

Bonne information. Mais je ne veux pas masquer les avertissements. Je suis prêt à aller avec le flux. Je voulais juste une confirmation sur ce qu'est The Flow. Merci Cary! [Problème séparé: Je dois utiliser $ VERBOSE = nil pour empêcher les avertissements incessants sur les répertoires inscriptibles du monde non sécurisés sur mon chemin. Mais c'est une question différente.] –

Répondre

1

Supprimer l'espace entre le nom de la méthode et le support d'ouverture:

def absolutize_all_config_var_paths(in_var) 
    ... 
end 
+0

J'ai toujours utilisé la convention d'utiliser un espace lors de la déclaration de fonctions (ou méthodes) et pas d'espace lors de leur appel. On dirait que The Ruby Way est de ne pas utiliser un espace lors de la déclaration. Je vais modifier mon code pour se conformer. Merci! http://ruby-doc.com/docs/ProgrammingRuby/ –

+1

... ou supprimez les parenthèses. –