Ruby
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 (Ruby est un langage de programmation libre. Il est interprété, orienté objet, et multi-paradigme.)
  • et PostgreSQL avec PL/ruby pour faire exécuter des commandes Ruby au serveur de base de données (En informatique, une base de données (Abr. : « BD » ou « BDD ») est un lot d'informations stockées dans un dispositif informatique. Les technologies...).

Le logiciel (En informatique, un logiciel est un ensemble d'informations relatives à des traitements effectués automatiquement par un appareil informatique. Y sont inclus les instructions de traitement, regroupées sous forme de...) de création de jeu vidéo (La vidéo regroupe l'ensemble des techniques, technologie, permettant l'enregistrement ainsi que la restitution d'images animées, accompagnées ou non de son, sur un support adapté à l'électronique et non de type photochimique. Le...) RPG Maker (RPG Maker est une série de logiciels développée tout d'abord par ASCII (compagnie japonaise) puis par Enterbrain (compagnie japonaise), permettant de créer des jeux vidéo (principalement des jeux de...) intègre dans ses versions XP et VX une bibliothèque nommée RGSS, Ruby Game Scripting System permettant l'usage (L’usage est l'action de se servir de quelque chose.) de scripts en Ruby.

Implémentations

L'interpréteur (En informatique, un interprète (parfois appelé, à tort, « interpréteur » par mauvaise traduction de l'anglais) est un outil ayant pour tâche d'analyser, de traduire et d'exécuter un...) officiel fonctionne sur de nombreux systèmes d'exploitation : UNIX, Linux (Au sens strict, Linux est le nom du noyau de système d'exploitation libre, multitâche, multiplate-forme et multi-utilisateur de type UNIX créé par Linus Torvalds, souvent désigné comme le...), Microsoft Windows (Windows (littéralement « Fenêtres » en anglais) est une gamme de systèmes d’exploitation produite par Microsoft, principalement destinés aux ordinateurs compatibles PC....), DOS (En anatomie, chez les animaux vertébrés parmi lesquels les humains, le dos est la partie du corps consistant en les vertèbres et les côtes. Les dorsaux étaient les muscles les...), Mac OS X (Mac OS X est une ligne de systèmes d’exploitation propriétaire développés et commercialisés par Apple, dont la version la plus récente (Mac OS X 10.5 dit 'Leopard' fin 2007) est...), OS/2 (OS/2 est un système d'exploitation créé par Microsoft et IBM, qui ensuite a été développé par IBM seul. Le nom OS/2 signifie Operating System/2 (operating system signifie système d'exploitation en...), Amiga (L’Amiga est une famille d’ordinateurs personnels commercialisée par Commodore International entre 1985 et 1994. Le prix modique de l’entrée de gamme et les capacités multimédia plus...), etc. Il est publié sous la double licence libre GNU (GNU est un système d'exploitation composé exclusivement de logiciels libres.) GPL et la licence Ruby.

Ruby est fourni (Les Foúrnoi Korséon (Grec: Φούρνοι Κορσέων) appelés plus communément Fourni, sont un archipel de petites îles...) 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 (Le code source (ou les sources voire le source) est un ensemble d'instructions écrites dans un langage de programmation informatique de haut niveau, compréhensible par un être humain entraîné,...) écrit en Ruby.
XRuby 
Il convertit du code Ruby en bytecode Java (Le bytecode Java est le résultat de la compilation d'un programme dont le code source est en Java par le compilateur Java. Ce bytecode peut être exécuté sous de nombreux systèmes d'exploitation par...) et est plus rapide sur certains tests de performance que la version 1.8.5 de l'interpreteur officiel.
Rubinius 
Une machine virtuelle (Le sens originel de machine virtuelle (ou Virtual Machine (VM) en anglais) est la création de plusieurs environnements d'exécution sur un seul ordinateur, dont chacun émule l'ordinateur hôte. Cela fournit à...) simplifiée, inspirée de Smalltalk-80, implémentée en Ruby même.
Cardinal 
Un interpréteur fonctionnant sous Parrot.
Gardens Point (Graphie) 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 (Le mot implantation peut avoir plusieurs significations :) de Ruby 1.9 spécifique à Mac OS (Mac OS (pour Macintosh Operating System) est le nom du système d'exploitation d'Apple pour ses ordinateurs Macintosh. Il est surtout connu pour être le...) X, fonctionnant par dessus le runtime Objective-C, et visant à remplacer l'implémentation RubyCocoa.

Exemples

Le classique Hello world :

      puts "Hello (Hello (code AITA : HW ; code OACI : FHE) est une compagnie aérienne charter suisse basée à Bâle pour son siège administratif. Elle gère des vols...) World!"      

Utilisation des objets :

      # Tout (Le tout compris comme ensemble de ce qui existe est souvent interprété comme le monde ou l'univers.) est objet (De manière générale, le mot objet (du latin objectum, 1361) désigne une entité définie dans un espace à trois dimensions, qui a une fonction précise, et qui peut être désigné par une étiquette...), même les nombres:      -199.abs (ABS est un sigle qui désigne :)                                                # 199      "ruby is cool".length                                   # 12      "Rick".index("c")                                       # 2      "Nice Day Isn't It?".downcase.split (Split  (en grec ancien Ασπάλαθος, Aspálathos, en Latin Spalatum, en italien Spalato, en dalmate Spalatro) est la seconde ville la plus peuplée de Croatie et le...)(//).sort.uniq.join  # " '?acdeinsty"      

Utilisation de Mixin (Un mixin, aussi appelé sous-classe abstraite, est une classe abstraite. C'est un cas de réutilisation d'implémentation. Chaque mixin représente un service qu'il est possible de greffer aux...) et de l'Héritage

      module AnimalSkills         def eat            puts "I'm eating !"         end                def move            puts "I'm moving !"         end                def express (Express est un langage informatique servant à spécificier formellement des données. Il a fait l'objet d'une normalisation (ISO 10303-11).)            puts "I'm expressing !"         end      end             class (CLASS (CLS) est un célèbre groupe de l'underground informatique. CLASS a cessé son activité le 8 janvier 2004 et en a profité pour...) Animal (Un animal (du latin animus, esprit, ou principe vital) est, selon la classification classique, un être vivant hétérotrophe, c’est-à-dire...)         include AnimalSkills # mixin                @@name = 'an animal' # variable (En mathématiques et en logique, une variable est représentée par un symbole. Elle est utilisée pour marquer un rôle dans une formule, un prédicat ou un...) 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.085 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique