eRuby

aus Wikipedia, der freien Enzyklopädie
eRuby (erb)
Dateiendung: .erb, .html.erb, .xml.erb
Aktuelle Version: 1.3.0 (Stand: 8. November 2008)
Art: Auszeichnungssprache
Website: modruby.net/en/index.rbx/eruby/whatis.html (Memento vom 4. November 2012 im Internet Archive)

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

<% ruby code %>

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

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

% ruby code

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:

<ul>
<% 3.times do %>

  <li>list item</li>

<% end %>
</ul>

Was die folgende Ausgabe erzeugt:

  • list item
  • list item
  • list item

Derselbe Code könnte auch so geschrieben werden:

<ul>
% 3.times do
  <li>list item</li>
% end
</ul>

Ergebniseinsetzung

<%= Ruby-Ausdruck %>
- Der Wert, der als Ergebnis des Ausdrucks herauskommt, z. B. 11 von 7 + 4, ersetzt im Ergebnis den ganzen Ausdruck einschließlich der
<%= %>

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

Kommentare

<%# Kommentar %>
- dies ist dasselbe wie ein Kommentar in Ruby. Der ganze Kommentar wird beim Erzeugen der Ausgabe weggelassen.

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

#{Ausdruck}

, 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)[1] und hat viele weitere Optionen, einschließlich alternativer Tags, die das Schreiben von validem XML ermöglichen.

ember

ember[2] 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.

Siehe auch

Referenzen

Weblinks