4. Ruby?
Ruby ist eine vollständig
objektorientierte
Skriptsprache
Das Beste von Perl und
Python
Public release 1995 durch
Yukihiro Matsumoto,
a.k.a “Matz”
4
5. Wichtigste Eigenschaften
Interpretierte Skriptsprache
Aktuell ist Ruby 1.8.2
Komplett Objekt-Orientiert
Dynamische Typbindung
Verfügbar über GPL oder eigene Lizenz
5
6. 5.times do puts “ruby ist cool”.upcase end
Output:
RUBY IST COOL
RUBY IST COOL
RUBY IST COOL
RUBY IST COOL
RUBY IST COOL
6
7. Grundregeln
Kein Semikolon am Ende der Zeile (bei
einer Anweisung pro Zeile)
Keine geschweiften Klammern zur
Deklaration vom Blöcken, sondern
“xxxx......end”
Keine Deklaration von Variablen!
() können bei Methoden weggelassen
werden 7
8. a=9
b=1
c=a+b
print c ; c = “Hi”; print c
d = c.length + c.index(”i”)
c = -99.abs
ein_string = String.new(”HALLO”)
auch_ein_string = ‘a’ + “bcdefg #{c}”
8
10. def my_func
puts “abc”
99
end
def my_func2(a, b)
return a+b
end
def a; “a”; end
ergebnis = my_func(1,2)
a()
10
11. class Person
@name #Instanz-var
@alter #Instanz-var
@@anzahl_auf_der_welt #Klassen-var
MAX_ALTER = 100 #Konstante
def check_alter(alter) #Instanz-meth
alter < Person::MAX_ALTER
end
end
a = Person.new
if a.check_alter(90)
puts “jung genug”
end 11
12. class Person
def Person.how_many
@@anzahl_auf_der_welt
end
end
anzahl = Person.how_many
12
13. Iteratoren
Iteratoren sind Funktionen, die Blocks
repetitiv aufrufen
Finden dort Einsatz, wo andere
Sprachen normalerweise Schleifen
nutzen würden
Intuitiv zu benutzten
13
17. Ruby on Rails
Framework für Web-Anwendungen
Model-View-Controller Ansatz
Nur eine Konfigurationsdatei:
Datenbank Zugangsdaten
Convention over configuration
17
18. Model-View-Controller
Design-Pattern für Programme mit
Interaktion mit dem Benutzer
KLassen werden in drei Gruppen
eingeteilt, die sich auf ihre jeweillige
Aufgabe spezialisieren
Vorteil: Entkopplung und somit
Wiederverwendbarkeit
18
19. Model
Klasse, die das Business-Objekt abbildet
mit allen seinen Funktionalitäten
BSP:
Klasse Benutzer
Klasse Buch
19
20. View
Eigentliche Darstellung für den User
Keine Funktionalität, nur Design
+Anzeige
BSP:
Template, dass alle Bücher im System
anzeigt
Template, dass alle Bücher eines
Benutzers anzeigt
20
21. Controller
Verbindung zwischen Model und View
Lädt benötigte Daten aus dem Model
und füttert sie in den View
Prozess-Logik
BSP:
Lade alle Bücher im System und gebe
sie dem richtigem Template
21
37. Umgebungen
Development
Standard
Loggin an, caching aus, debug an
Production
Loggin an, caching an, debug aus
Test
alles aus 37
38. Generator
Models,Views und Controller können per
Hand erstellt werden
Generator hilft aus:
ruby script/generator model Buch
ruby script/generator controller Laden
38
50. Anpassen der
Templates
Templates sind RHTML, d.h HTML +
Ruby code:
<% normaler rubycode %>
<%= ergebnis wird ausgegeben %>
<%=h ergebnis wird HTML escaped %>
50