Ruby Anfänge
Zur Navigation springen
Zur Suche springen
auf der seite http://tryruby.org/ kann man ruby in einem interaktivem toturial im browser testen
- Erster Ruby script
#!/usr/bin/ruby #wie bei der shell muss auch hier der Pfade zum Interpreter angegeben werden # puts "hey xinux" #sollte hey xinux ausgeben
- Interaktiv
#!/usr/bin/ruby # print "bitte was eingeben" # ähnlich wie puts gibt den Inhalt von "" aus muh = gets # gets fragt den Benutzer nach einer Eingabe und schreibt dies in die variable muh puts "deine Eingabe #{muh}" # puts sorgt hier wider für die Ausgabe doch durch die "" wird die variable nicht ausgelesen deswegen geben wir mit #{} an das der Inhalt der Eckigen Klammern als variable erkannt wird
- Dateien Auslesen
#!/usr/bin/ruby # puts "lese gerade eine Datei ein(;" # einfache Ausgabe DieDatei = File.read("Beispiel.txt") # wir haben das Objekt File mit der Funktion read nun wird aus der besipiel.txt gelesen und in die variable DieDatei geschrieben puts DieDatei.to_s # als nächstes wird die variable mit to_s zu einem sting umgewandelt damit sie mit puts ausgegeben werden kann
- schreiben in eine Datei
#!/usr/bin/ruby # puts "schreibe" # einfache Ausgabe hm = File.new("hme", "hee") # instansiere ein neues opjekt und schreibe in variable hm hm.puts "das erste " # schreibe "das erste" in hm hm.puts "das zweite" #schreibe "das zweite" dazu hm.close #schliese ab und schreibe in File.new(File.new sollte jetzt auf der festplatte ligen)
- Load und Require
ist praktisch um sein prorgamm in mehrere einzelne datein zu unterteilen und erhöt bei komplexen programmen die Übersichtlichkeit
mit reuire kann mann eine datei angeben die eingesetzt werden soll lädt die datei nur einmal
load macht das gleiche nur das die datei bei jedem aufruf neu geladen wird
- Beispiel zu require
#!/usr/bin/ruby # puts "vor dem holen" require 're.rb' puts"nach dem holen"
puts"vor dem 2holen" require 're.rb' puts"nach dem 2holen"
- Beispiel zu Load
#!/usr/bin/ruby # puts "vorm 1 laden" load 'lade.rb' puts "nach 1 laden"
puts "vor 2 laden" load 'lade.rb' puts "nach 2 laden"
- Ruby ausnahmen
#!/usr/bin/ruby #
ausnahmen (exeptions) gibt es dann wen ein fehler auftrit #!/usr/bin/ruby # begin # irgend ein programm code rescue # beim einem fehler rescue # bei nem anderen fehler else # bei einem unbekanten fehler ensure # das wird immer gemacht end
alles was zwischen begin und dem ersten rescue steht ist geschützt das heist wenn in diesem block ein fehler auftrit könn unsere rescue option greifen fals der fehler mit keiner der beiden definirten fehler übereinstimt greift der bei else definirte teil und ensure wird immer ausgeführt und mit end wird bendet
hier ein praktisches beispiel #!/usr/bin/ruby # 1: begin 2: file = open("\diedatei") 3: if file 4: puts "juhu die datei ist da" 5: end 6: rescue 7: file = STDIN 8: end 9: print file, "==", stdin, "\n" in zeile 2 versuchen wir eine datei zu öfnnen fals die datei vorhanden ist bekommen wir eine ausgabe zurück und benden das programm ordnungs gemes fals die datei nicht vorhanden ist greift die rescue option und wir in zeile 7 zur eingabe einer vorhandenen datei aufgefordert in zeile 8 wird das programm bendet und in 9