Ruby

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. Installation von Programmen

  2. Ein Terminal öffnen

  3. Einen Editor öffnen

Inhaltsverzeichnis
  1. Installation
    1. Installation mit APT
  2. Ein Programm erstellen
  3. IRB
    1. Start
    2. Navigation
    3. Beispiel
  4. Rubygems
    1. Gems installieren
  5. Links

./ruby.png Ruby (engl. für Rubin) ist eine interpretierte, objektorientierte Programmiersprache, die mehrere weitere Programmierparadigmen (Prozedurale Programmierung, Funktionale Programmierung, Nebenläufigkeit) unterstützt.

Ruby wird seit dem 24. Februar 1993 von Yukihiro „Matz“ Matsumoto in Japan entwickelt und wird heute als Open-Source-Projekt weitergepflegt. In Europa und Amerika wurde Ruby ab dem Jahr 2000 durch erste nicht-japanische Literatur bekannt. Der Name basierte ursprünglich auf dem Edelstein Rubin und wird heute auch als Anspielung auf die Programmiersprache Perl verstanden.

Da Ruby wie Perl und Python eine Interpretersprache ist, muss der Programmcode vor der Ausführung nicht kompiliert werden.

Installation

Zur Installation von Ruby gibt es zwei Möglichkeiten. Eine führt über das Debian Paketsystem (APT), alternativ dazu gibt es noch den Ruby Version Manager (RVM). Die APT Methode ist völlig ausreichend für eine Basisinstallation. Wird eine größere Flexibilität bei der Verwendung von verschiedenen Ruby-Versionen benötigt, sollte RVM verwendet werden.

Installation mit APT

Ruby ist zur Zeit noch nicht in der Standardinstallation von Ubuntu enthalten und muss deswegen aus den Paketquellen über das Paket:

Paketliste zum Kopieren:

sudo apt-get install ruby 

Oder mit apturl die Pakete installieren. Link: apt://ruby

nachinstalliert [1] werden.

Ein Programm erstellen

Der Standardweg, um Ruby-Programme zu erstellen, geht über einen Editor[3]. Viele Editoren bieten Hilfen wie Syntaxhervorhebung, automatische Einrückung und Funktionen zu verkleinern. Daher gibt es auch eine riesige Zahl von Programmen, es kann also jeder einen Editor seiner Wahl finden.

Es wird der Quelltext im bevorzugten Editor erstellt und als *.rb abgespeichert.

1
2
#!/usr/bin/env ruby
puts "Hallo Welt!"

Als Beispiel sei der Quellcode unter ~/hallowelt.rb abgespeichert.

Nun öffnet man das Terminal [3] und wechselt in das Verzeichnis der Quelldatei. In diesem Ordner kann man sodann durch eine einzige Befehlszeile den Code ausführen:

ruby hallowelt.rb 

IRB

IRB ist Rubys interaktive Konsole. Die Arbeitsweise der interaktiven Ruby-Konsole ist ähnlich der Shell [3] für Linux. Sie ist vor allem für Einsteiger und zum Testen von kleineren Abschnitten des Quelltextes nützlich, da die eingegebenen Befehle sofort ausgeführt werden.

Start

Die interaktive Konsole wird vom Terminal [2] aus durch:

irb  

gestartet.

Tasten Verwendung
Eingabe bestätigen
früher eingegebene Befehle auswählen
den Cursor in der aktuell angezeigten Eingabe bewegen

Beispiel

~$ irb
irb(main):001:0> u = `whoami`
=> "benutzer\n"
irb(main):002:0> puts("Hallo " + u)
Hallo benutzer
=> nil
irb(main):003:0> puts "Ruby version #{`ruby -v`}"
Ruby version ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu]
=> nil
irb(main):004:0> exit
~$ 

Rubygems

Rubygems ist das Äquivalent zu Perls Cpan 🇬🇧. Mit Rubygems hat man Zugriff auf ein riesiges Repertoire an Ruby-Modulen (in der Rubysprache "Gems" genannt), die eine unzählbare Anzahl an Funktionen bereitstellen. Unter Ubuntu 18.04 ist Rubygems als Abhängigkeit von ruby im Paket rubygems-integration gleich mit installiert.

Gems installieren

Mit Rubygems kann man bequem vom Terminal [2] aus ein Gem installieren. Will man Beispielsweise sinatra 🇬🇧, einen äußerst einfach zu programmierenden Webserver in seinem Rubyskript benutzen, installiert man es mit:

sudo gem install sinatra 

Danach bindet man das Gem mit:

1
2
require 'rubygems'
require 'sinatra'

in seinem Skript ein und kann dann sämtliche Funktionen des Gems benutzen.

In diesem Beispiel-Skript, wird mit Hilfe des sinatra Gems ein simpler HTTP-Server erstellt.

1
2
3
4
5
6
7
#!/usr/bin/env ruby
require 'rubygems'
require 'sinatra'

get '/hi' do
  "Hello World!"
end

Wird das Skript ausgeführt, so startet ein lokaler HTTP-Server. Unter http://localhost:4567/hi kann die entsprechende Seite abgerufen werden.