Ruby-Geekend: Unterschied zwischen den Versionen

Aus C3D2
Zur Navigation springen Zur Suche springen
(This page must use the Rübÿ Spëëd Mëtäl Cödïng template!!!111)
Zeile 18: Zeile 18:
*Rückgabewerte von Methoden müssen nicht mit ''return'' übergeben werden
*Rückgabewerte von Methoden müssen nicht mit ''return'' übergeben werden
*Instanzmethoden, Klassenmethoden, Konstruktor
*Instanzmethoden, Klassenmethoden, Konstruktor
*Methoden überschreiben, zum Beispiel:
*Klassen erweitern/Methoden überschreiben, zum Beispiel:
  class String
  class String
   def to_b
   def to_b
Zeile 28: Zeile 28:
**Wir fangen eine Exception und schicken die Details per Jabber
**Wir fangen eine Exception und schicken die Details per Jabber
*Threads
*Threads
=Code-Walkthroughs=
=Code-Walkthroughs=
*[[Ruby-MediaWiki]] als Beispiel für ein kleines, gut strukturiertes Projekt?
*[[Ruby-MediaWiki]] als Beispiel für ein kleines, gut strukturiertes Projekt?

Version vom 8. Januar 2006, 12:21 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
  • 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!

  • Mate-Bot für Jabber? (Astro)
  • Eine tolle Website mit Rails? (Sven)


Rübÿ Spëëd Mëtäl Cödïng
Coders: Astro | Conny | Sven