2012-04-05 12 views
-2

Ich habe ein Ruby-Skript erstellt, das ich mit einigen Flaggen auf Konsole sagen Name -v druckt Ausgabe auf Konsole und -o speichert Ausgabe in neue Datei mit Datei ausführen möchte ich von der Konsole nehme mit gets()Wie kann man Ruby-Skripten wie -v, -o Flags zuweisen und den Code entsprechend platzieren?

Mein Code folgende Struktur:

puts "Enter filename to analyze:\n\n" 
filename = gets().chomp 
puts "Provide filename to store result in new text file:\n\n" 
output = gets().chomp 
filesize = File.size(filename) 
puts "File size in Bytes:\n#{filesize.to_i}\n" 
pagecontent = filesize - 20 
puts "\n\nData:\n#{pagecontent}\n\n" 
File.open(filename,'r') do |file| 
     #whole process with few do..end in between that I want to do in 2 different #ways. 
    #If I provide -v flag on console result of this code should be displayed on console 
    #and with -o flag it should be stored in file with filename provided on console #stored in output variable declared above 
end 
end 

Antwort

3

Verwenden stdlib OptionParser

+0

ich diesen OptionParser weiß aber wie kann ich meinen Code in seinen Put-Optionen so funktioniert es, wie ich will? –

+4

Die Dokumente, mit denen ich verlinkt habe, haben gute Beispiele - lies sie. SO ist keine "bitte schreibe meinen Code für mich" -Website. Versuchen Sie es mit OptionParser und wenn Sie Probleme bekommen, stellen Sie eine spezielle Frage dazu. – dbenhur

+0

Sah Ihren Link und es hat für mich funktioniert, Danke –