2010-01-19 2 views
3

Comment créer une variable pouvant être lue. Il lirait à partir d'un certain fichier s'il existe, sinon il lirait de l'entrée standard. Quelque chose comme:Commutateur Ruby entre fichier et entrée standard

input = File.open("file.txt") || in 

Cela ne fonctionne pas, mais je pense que cela devrait être fait assez souvent, mais je ne peux pas trouver un moyen agréable de le faire.

Répondre

4

Cela fonctionne pour vous?

input = File.exist?("file.txt") ? File.open("file.txt") : STDIN 
+0

Vous pouvez également utiliser 'stdin' de $ au lieu de' STDIN'. – bta

1

Je pense que Ruby a la capacité de traiter des arguments qui ne sont pas utilisés avant STDIN est d'abord utilisée comme si elle était pour les fichiers les noms de fichiers canalisé dans l'entrée standard.

Questions connexes