eRuby (Embedded Ruby) est un système de modèles, ou «templates», qui enchâsse Ruby à l'intérieur d'un document texte. On l'utilise pour inclure du code Ruby dans un document HTML, à la manière de ASP, JSP ou encore PHP[1].

eRuby

Informations
Type Système de gabaritVoir et modifier les données sur Wikidata
Documentation docs.ruby-lang.org/en/trunk/ERB.html et docs.ruby-lang.org/ja/latest/library/erb.htmlVoir et modifier les données sur Wikidata

Utilisation

modifier

eRuby permet au code Ruby d'être inclus entre une paire de balises <% et %>. Ces blocs de code sont ensuite évalués, puis substitués par le résultat de l'évaluation.

Voici quelques exemples de la syntaxe d'eRuby:

Ligne unique de Ruby

<% print "hello" %>

Ici, le résultat de l'évaluation, soit la chaîne de caractères « hello », viendrait substituer la ligne de code.

Lignes multiples

Un segment de code eRuby à multiples lignes fonctionne comme un bloc en Ruby et se termine par <% end %>. On peut l'utiliser afin de représenter une boucle

<ul>
<% 3.times do %>

  <li>Item de liste</li>

<% end %>
</ul>

Ce qui produit :

  • Item de liste
  • Item de liste
  • Item de liste

Une syntaxe alternative équivalente serait:

<ul>
% 3.times do
  <li>Item de liste</li>
% end
</ul>

Substitution par résultat d'une expression

<%= expression expression %>

Les balises qui permettent la substitution par une expression Ruby sont <%= et %>. Une expression telle que 13 + 37 serait remplacée par son résultat, soit 50 dans ce cas.

Commentaire

<%# commentaire %>

Les commentaires sont délimités par les balises <%# et %> et sont ignorés.

Il est aussi possible de procéder à une substitution par chaîne de caractères avec la syntaxe:

#{nom_de_la_chaine}

Implémentations

modifier

Il existe plusieurs implémentations d'eRuby :

eruby

modifier

eruby est une implémentation d'eRuby écrite dans le langage de programmation C.

erb

modifier

erb est une implémentation d'eRuby écrite entièrement en Ruby, et qui se retrouve dans la bibliothèque standard Ruby.

erubis

modifier

erubis est une version d'eRuby implémentée en Ruby et en Java, dont la performance serait meilleure que celle d'erb ou d'eruby[2].

ember

modifier

ember[3] est une implémentation Ruby d'eRuby qui permet le débogage des templates eRuby, améliore leur potentiel de composition, et fourni des directives raccourcies.

Voir aussi

modifier

Références

modifier
  1. (en) Gregory T. Brown, Ruby best practices, O'Reilly, juin 2009, 330 p. (ISBN 978-0-596-52300-8, OCLC 299700741, lire en ligne  ), p. 279-281
  2. (en) « Erubis: fast and extensible eRuby implementation » [archive]   (consulté le 14 octobre 2023)
  3. (en) « ember(1) »  , 29 juin 2011 (consulté le 20 mai 2024)

📚 Artikel Terkait di Wikipedia

Qt

est publiée en juin 1999 et une version pour les systèmes embarqués, Qt/Embedded, connue depuis sous le nom de Qtopia, est publiée en 2000. Cette dernière

Sovereign Tech Agency

(de) « 51 Millionen Euro für Open Source und digitale Souveränität », Embedded Software Engineering, 20 mai 2022 (consulté le 26 mai 2024) (en) « Germany

Langage dédié

langages enchâssés, ou langages embarqués (en anglais : domain-specific embedded language ou DSEL) et les langages dédiés externes. Les premiers sont destinés

Liste des programmes de Microsoft

COMPAQ-DOS NCR-DOS Z-DOS 86-DOS Microsoft Windows Windows NT Windows CE Windows Embedded Windows Mobile Téléphone Windows Environnement de préinstallation de Windows

Plateforme Java

une implémentation de Scheme Clojure, un dialecte de Lisp JRuby (issu de Ruby) Jython, issu de Python Javascript (plusieurs implémentations disponibles :

Langage de description de matériel

« HDLRuby: A Ruby Extension for Hardware Description and its Translation to Synthesizable Verilog HDL », ACM Transactions on Embedded Computing Systems

Test unitaire

wiki.c2.com. Xunit, Martin Fowler GNU Based Compilation System for Space Embedded Applications, Blondin, J. P. & Martignano, M., DASIA 98 - Data Systems

Modulo (opération)

Oui (no) Partie entière (inférieure) remainder Oui (no) Troncature Maya Embedded Language % Oui (no) Troncature Microsoft Excel =MOD() Oui Oui Partie entière