Ruby Anfänge: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
auf der seite http://tryruby.org/
 +
kann man ruby in einem interaktivem toturial im browser testen
 +
 +
 +
 
*Erster Ruby script
 
*Erster Ruby script
 
  #!/usr/bin/ruby    #wie bei der shell muss auch hier der Pfade zum Interpreter angegeben werden
 
  #!/usr/bin/ruby    #wie bei der shell muss auch hier der Pfade zum Interpreter angegeben werden
Zeile 19: Zeile 24:
 
  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
 
  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
 
  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

Aktuelle Version vom 21. Oktober 2015, 12:18 Uhr

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