Ruby Anfänge

Aus xinux.net
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