Ruby - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Interprètes embarqués

Ruby possède une interface de programmation en langage C qui lui permet d'être intégré au sein d'autres logiciels. Ruby est notamment utilisable dans :

  • Apache avec mod_ruby pour générer des pages web en Ruby
  • et PostgreSQL avec PL/ruby pour faire exécuter des commandes Ruby au serveur de base de données.

Le logiciel de création de jeu vidéo RPG Maker intègre dans ses versions XP et VX une bibliothèque nommée RGSS, Ruby Game Scripting System permettant l'usage de scripts en Ruby.

Implémentations

L'interpréteur officiel fonctionne sur de nombreux systèmes d'exploitation : UNIX, Linux, Microsoft Windows, DOS, Mac OS X, OS/2, Amiga, etc. Il est publié sous la double licence libre GNU GPL et la licence Ruby.

Ruby est fourni avec irb, un interpréteur de commandes interactif pour tester en profondeur le fonctionnement du langage. Il existe une version web d'irb pour tester Ruby dans un navigateur.

Depuis le 1er janvier 2007, le développement de Ruby (1.9) est basée sur l'interpréteur YARV écrit par Koichi Sasada. Ce nouvel interpréteur apporte un gain notable en performances.

Il existe plusieurs autres interpréteurs Ruby :

JRuby 
Il est écrit en Java et interprète directement du code source écrit en Ruby.
XRuby 
Il convertit du code Ruby en bytecode Java et est plus rapide sur certains tests de performance que la version 1.8.5 de l'interpreteur officiel.
Rubinius 
Une machine virtuelle simplifiée, inspirée de Smalltalk-80, implémentée en Ruby même.
Cardinal 
Un interpréteur fonctionnant sous Parrot.
Gardens Point Ruby.NET 
Un interpréteur fonctionnant sur le framework .NET.
IronRuby 
Un compilateur fonctionnant sur la DLR du framework .NET.
Ruby for .Net 
Un compilateur fonctionnant sur la CLR du framework .NET qui a été abandonnée au profit de IronRuby.
MacRuby 
implémentation de Ruby 1.9 spécifique à Mac OS X, fonctionnant par dessus le runtime Objective-C, et visant à remplacer l'implémentation RubyCocoa.

Exemples

Le classique Hello world :

      puts "Hello World!"      

Utilisation des objets :

      # Tout est objet, même les nombres:      -199.abs                                                # 199      "ruby is cool".length                                   # 12      "Rick".index("c")                                       # 2      "Nice Day Isn't It?".downcase.split(//).sort.uniq.join  # " '?acdeinsty"      

Utilisation de Mixin et de l'Héritage

      module AnimalSkills         def eat            puts "I'm eating !"         end                def move            puts "I'm moving !"         end                def express            puts "I'm expressing !"         end      end             class Animal         include AnimalSkills # mixin                @@name = 'an animal' # variable de classe                def initialize(size, weight, color) # initialisation des variables d'instance            @size = size.to_i            @weight = weight.to_i            @color = color.to_s         end                def describe            puts "I'm #{@@name} !"            puts "I'm #{@size.to_s} meter tall, #{@weight.to_s} kilogramms weigh and I'm " + @color         end      end             class Zebra < Animal # héritage         @@name = 'a zebra' # rédéfinition de la variable de classe                def initialize(size, weight, color = 'black and white') # surcharge            super # appel de la méthode de la classe mère (Animal)         end      end             z = Zebra.new 1, 50             z.describe # => I'm a zebra ! / I'm 1 meter tall, 50 kilogramms weigh and I'm black and white      z.eat # => I'm eating !      
Page générée en 0.042 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales | Partenaire: HD-Numérique
Version anglaise | Version allemande | Version espagnole | Version portugaise