2010-01-19 11 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.