Ruby (Programmiersprache): Unterschied zwischen den Versionen

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Wechseln zu:Navigation, Suche
(Quellen)
Zeile 3: Zeile 3:
  
 
=Geschichte=
 
=Geschichte=
Ruby wurde in Japan von Yukihiro "Matz" Matsumoto entwickelt und 1995 in der ersten Version veröffentlicht.
+
Ruby wurde in Japan von Yukihiro "Matz" Matsumoto entwickelt und 1995 in der ersten Version veröffentlicht.
 +
 
 +
=Interpreter=
 +
Abgesehen vom Original-Interpreter MRI (Matz-Ruby-Interpreter) gibt es inzwischen Portierungen für Java ([[JRuby]]) oder .NET (IronRuby). Damit lassen sich mit Ruby alle Klassen und Bibliotheken der zugrunde liegenden Plattform verwenden.
 +
 
 +
=Integration=
 +
Die Integration von [[JRuby]] geht sogar so weit, dass sich mit [[Ruby on Rails]] JEE-konforme Webanwendungen entwickeln lassen, die man in einem JEE-Container deployen kann. Noch bessere Bytecode-Kompatibilität für Java bietet [[Groovy]].  
  
 
= Features =
 
= Features =
 
 
* plattformübergreifend verwendbar
 
* plattformübergreifend verwendbar
 
* strenges objektorientiertes Prardigma: Alle Datentypen sind Objekte (auch Primitive)
 
* strenges objektorientiertes Prardigma: Alle Datentypen sind Objekte (auch Primitive)
 
* Unterstüzung von regulären Ausdrücken auf Sprachebene
 
* Unterstüzung von regulären Ausdrücken auf Sprachebene
 
* Automatisches Garbage Collection
 
* Automatisches Garbage Collection
 +
* Metaprogrammierung
 
* Packetmanager [[RubyGems]]
 
* Packetmanager [[RubyGems]]
  
Zeile 65: Zeile 71:
 
   => ["a", "b", 2, "z"]
 
   => ["a", "b", 2, "z"]
 
</source>
 
</source>
 +
 +
 +
 +
Metaprogrammierung:
 +
 +
<source lang="ruby">
 +
 +
</source>
 +
 +
 +
JRuby: Verwendung von Swing mit JRuby
 +
<source lang="ruby">
 +
require "java"
 +
frame = javax.swing.JFrame.new()
 +
frame.setSize 200, 200
 +
frame.add javax.swing.JLabel.new("hallo welt")
 +
frame.setVisible true
 +
</source>
 +
  
 
= Quellen =
 
= Quellen =
 
*[http://www.ruby-lang.org/ Ruby-Website]
 
*[http://www.ruby-lang.org/ Ruby-Website]
 
* Armin Roehrl und Stefan Schmiedl (2004): Big in Japan. Linux-Magazin Sonderheft Scripting Edition, Linux New Media AG
 
* Armin Roehrl und Stefan Schmiedl (2004): Big in Japan. Linux-Magazin Sonderheft Scripting Edition, Linux New Media AG
 +
* [http://jruby.codehaus.org JRuby]
 +
* [http://groovy.codehaus.org Groovy]
  
 
=Siehe auch=
 
=Siehe auch=

Version vom 9. Juli 2009, 10:33 Uhr

1 Definition

Ruby ist eine objektorientierte Skriptsprache, die Syntaxelemente von Perl mit Features von Smalltalk kombiniert.

2 Geschichte

Ruby wurde in Japan von Yukihiro "Matz" Matsumoto entwickelt und 1995 in der ersten Version veröffentlicht.

3 Interpreter

Abgesehen vom Original-Interpreter MRI (Matz-Ruby-Interpreter) gibt es inzwischen Portierungen für Java (JRuby) oder .NET (IronRuby). Damit lassen sich mit Ruby alle Klassen und Bibliotheken der zugrunde liegenden Plattform verwenden.

4 Integration

Die Integration von JRuby geht sogar so weit, dass sich mit Ruby on Rails JEE-konforme Webanwendungen entwickeln lassen, die man in einem JEE-Container deployen kann. Noch bessere Bytecode-Kompatibilität für Java bietet Groovy.

5 Features

  • plattformübergreifend verwendbar
  • strenges objektorientiertes Prardigma: Alle Datentypen sind Objekte (auch Primitive)
  • Unterstüzung von regulären Ausdrücken auf Sprachebene
  • Automatisches Garbage Collection
  • Metaprogrammierung
  • Packetmanager RubyGems

6 Ruby Shell

Bei jeder Ruby-Installation ist eine Shell enthalten. Die „irb“-Shell („Interactive Ruby“) kann verwendet werden, um schnell und einfach Ausdrücke zu testen.

7 Beispiele

Integer:

  irb(main):001:0> n = 2 * 3 + 2
  => 8
  irb(main):002:0> n.class
  => Fixnum

String:

  irb(main):001:0>n = "Hallo " * 3
  => "Hallo Hallo Hallo"
  irb(main):002:0> n.class
  => String
  irb(main):003:0> n[0,5]
  => "Hallo

Schleifen:

  irb(main):001:0> a = 0
  => 0
  irb(main):002:0> 1.upto(5) do |i| a = a + i end
  => 1
  irb(main):003:0> a
  => 15

Listen und Iterator:

  irb(main):001:0> a = [ "a", "b", 2, "z", "21" ]
  => ["a", "b", 2, "z", "21"]
  irb(main):002:0> a.pop
  => "21"
  irb(main):003:0> a
  => ["a", "b", 2, "z"]
  irb(main):004:0> a.each do |c| puts c.class end
  String
  String
  Fixnum
  String
  => ["a", "b", 2, "z"]


Metaprogrammierung:


JRuby: Verwendung von Swing mit JRuby

require "java"
frame = javax.swing.JFrame.new()
frame.setSize 200, 200
frame.add javax.swing.JLabel.new("hallo welt")
frame.setVisible true


8 Quellen

  • Ruby-Website
  • Armin Roehrl und Stefan Schmiedl (2004): Big in Japan. Linux-Magazin Sonderheft Scripting Edition, Linux New Media AG
  • JRuby
  • Groovy

9 Siehe auch


Dieser Artikel ist GlossarWiki-konform.
In diesem Artikel sollten die Quellenangaben überarbeitet werden.
Bitte die Regeln der GlossarWiki-Quellenformatierung beachten.