Ruby-Geekend: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Astro (Diskussion | Beiträge) (→Basics: Blöcke) |
Astro (Diskussion | Beiträge) (Mehr) |
||
Zeile 1: | Zeile 1: | ||
[[Benutzer:Astro|Astro]] und [[Benutzer:Sven|Sven]] wollen den [http://www.c3le.de/ C3LE] und andere von Ruby begeistern. | [[Benutzer:Astro|Astro]] und [[Benutzer:Sven|Sven]] wollen den [http://www.c3le.de/ C3LE] und andere von Ruby begeistern. | ||
=Propaganda= | |||
Angehen der Sprache mit ein paar Sachen im Hinterkopf: | |||
*Im Gegensatz zu Perl eine angenehme Syntax mit wenigen Sonderzeichen | |||
*Blöcke sind Argumente, ''obj.each { |e| ... }'' ist viel intuitiver als ''for e in obj'' | |||
*Alles ist ein Objekt, alles hat Methoden | |||
*Selbst Klassenmethoden sind Instanzmethoden der Klasse (aber nicht des Objekts) | |||
=Basics= | =Basics= | ||
Zeile 6: | Zeile 14: | ||
*''irb'' vorführen (mit Readline-Support) | *''irb'' vorführen (mit Readline-Support) | ||
*''ri'' zeigen | *''ri'' zeigen | ||
* | *''printf-Debugging'' mit '''p''' | ||
*Standardklassen: String, Array, Hash, Fixnum, TrueClass, FalseClass, NilClass, Class | *Standardklassen: String, Array, Hash, Fixnum, TrueClass, FalseClass, NilClass, Class | ||
*Regexps sind auch Objekte | |||
*Methoden, Klassen, Module | *Methoden, Klassen, Module | ||
*Blöcke sind auch nur Parameter (''def myfunction(&block)'') | *Blöcke sind auch nur Parameter (''def myfunction(&block)'') | ||
Zeile 19: | Zeile 28: | ||
end | end | ||
*Exceptions | *Exceptions | ||
**Auch Syntaxfehler sind Exceptions | |||
**Wir fangen eine Exception und schicken die Details per Jabber | |||
*Threads | *Threads | ||
Zeile 25: | Zeile 36: | ||
*XML-Verarbeitung mit REXML | *XML-Verarbeitung mit REXML | ||
*Serialisierung mit YAML | *Serialisierung mit YAML | ||
*Verteilte Anwendungen mit Distributed Ruby | |||
*Tests | |||
=Kleinprojekte= | =Kleinprojekte= |
Version vom 2. Januar 2006, 16:01 Uhr
Astro und Sven wollen den C3LE und andere von Ruby begeistern.
Propaganda
Angehen der Sprache mit ein paar Sachen im Hinterkopf:
- Im Gegensatz zu Perl eine angenehme Syntax mit wenigen Sonderzeichen
- Blöcke sind Argumente, obj.each { |e| ... } ist viel intuitiver als for e in obj
- Alles ist ein Objekt, alles hat Methoden
- Selbst Klassenmethoden sind Instanzmethoden der Klasse (aber nicht des Objekts)
Basics
Demonstration in VNC?
- Ein bisschen nach Programming Ruby richten, mehr braucht man ja eigentlich nicht
- irb vorführen (mit Readline-Support)
- ri zeigen
- printf-Debugging mit p
- Standardklassen: String, Array, Hash, Fixnum, TrueClass, FalseClass, NilClass, Class
- Regexps sind auch Objekte
- Methoden, Klassen, Module
- Blöcke sind auch nur Parameter (def myfunction(&block))
- Rückgabewerte von Methoden müssen nicht mit return übergeben werden
- Instanzmethoden, Klassenmethoden, Konstruktor
- Methoden überschreiben, zum Beispiel:
class String def to_b self == "true" end end
- Exceptions
- Auch Syntaxfehler sind Exceptions
- Wir fangen eine Exception und schicken die Details per Jabber
- Threads
Code-Walkthroughs
- Ruby-MediaWiki als Beispiel für ein kleines, gut strukturiertes Projekt?
- XML-Verarbeitung mit REXML
- Serialisierung mit YAML
- Verteilte Anwendungen mit Distributed Ruby
- Tests
Kleinprojekte
Mal-schnell-was-coden ist mit Ruby möglich!