Ruby-Geekend: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Astro (Diskussion | Beiträge) (→Basics) |
Sven (Diskussion | Beiträge) (→Basics: +Introspektion +irb) |
||
Zeile 12: | Zeile 12: | ||
*''ri'' zeigen | *''ri'' zeigen | ||
*''printf-Debugging'' mit '''p''' | *''printf-Debugging'' mit '''p''' | ||
*Introspektion / irb | |||
*Standardklassen: String, Array, Hash, Fixnum, TrueClass, FalseClass, NilClass, Class | *Standardklassen: String, Array, Hash, Fixnum, TrueClass, FalseClass, NilClass, Class | ||
*Regexps sind auch Objekte | *Regexps sind auch Objekte |
Version vom 17. Januar 2006, 02:37 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
- Introspektion / irb
- 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
- Klassen erweitern/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!
Rübÿ Spëëd Mëtäl Cödïng
Projects: CacaANSICam | Date Determinator | DVB-Scraping | Filmnächte-Scraping | GeeKal | Gruntmaster | Harvester | Hirn | Irb | Jargon-File | Ruby-MediaWiki | Miniwebserver | Momomoto | Pentabarf | Podcast-fetching | Ruby | Ruby-Geekend | Ruby und Ruby on Rails | Sedusa | VDS-Badges | Xmotoctl | Youtube-Scraping