Ruby-Geekend
Astro und Sven wollen den C3LE und andere am 1. April-Wochenende 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
- 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
Rails
- nach Agile Web Development with Rails richten
- Scaffolding
- ActiveRecord
- Filter
- Routing
- AJAX/Prototype
- Rails Anwendungen debuggen
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