ERuby
# ERuby

eRuby ist ein Template-Mechanismus, der es ermöglicht, Ruby in eine Textdatei einzubetten. Es wird häufig dafür verwendet, um Ruby-Code in ein HTML-Dokument zu integrieren, ähnlich wie bei ASP, JSP oder PHP. eRuby ist für dieselben Plattformen verfügbar, für die es auch Ruby gibt, und es steht unter den Lizenzen GPL und LGPL zur Verfügung.

## Verwendung

eRuby erlaubt es, Ruby-Code zwischen einem Paar von <% und %> oder <%= und %>einzufügen. Diese eingebetteten Codeblöcke werden ausgeführt. Bei <% %> wird anschließend der Block durch die leere Zeichenkette ersetzt. Dies wird vor allem für Schleifenkonstrukte, aber auch für if-then-else-Bedingungen oder für das Setzen von später verwendeten Variablen verwendet. Bei <%= %> wird das Ergebnis des eingeschlossenen Ausdrucks eingefügt.

Hier sind ein paar Beispiele für die Verwendung von eRuby:

Eine Zeile Ruby

Ausgabe von „Hallo“: <% puts "Hallo" %>

Alternativ werden auch Zeilen, die mit % anfangen, komplett als Ruby interpretiert:

Mehrere Zeilen

Diese Konstrukte können etwas undankbar sein, weil Anfang und Ende nicht offensichtlich als zusammengehörig erkennbar sind. Sie funktionieren wie Blöcke in Ruby und werden durch <% end %> beendet. Man verwendet diese Sprachkonstrukte häufig für Schleifen, wie zum Beispiel:

Was die folgende Ausgabe erzeugt:

* list item
* list item
* list item

Derselbe Code könnte auch so geschrieben werden:

Ergebniseinsetzung

-Klammerung. Oft handelt es sich nur um eine Zeile oder einen Teil einer Zeile.

Kommentare

Andere Dinge, die in eRuby üblich sind, wurden einfach von Ruby übernommen, wie zum Beispiel die Zeichenketteninterpolation mit

, die es in ähnlicher Form auch in Sprachen wie Perl (Programmiersprache) und PHP gibt.

## Implementierungen

Es gibt viele Implementierungen von eRuby:

### eruby

eruby ist eine Implementierung von eRuby, die in C geschrieben ist.

### erb

erb ist eine Implementierung von eRuby, die ganz in Ruby geschrieben ist.

### erubis

erubis ist eine Implementierung von eRuby, die in Ruby und auch in Java geschrieben ist. Laut der eigenen Homepage läuft sie schneller als eruby und erb (Stand 2011) und hat viele weitere Optionen, einschließlich alternativer Tags, die das Schreiben von validem XML ermöglichen.

### ember

ember ist eine in reinem Ruby geschriebene Implementierung von eRuby. Es erlaubt das Debuggen von eRuby-Templates, verbessert deren Kompositionsmöglichkeiten und erlaubt mächtige Abkürzungen für eRuby-Direktiven.

