Ruby
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist mit keiner aktuell unterstützten Ubuntu-Version getestet! Bitte teste diesen Artikel für eine Ubuntu-Version, welche aktuell unterstützt wird. Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
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:
ruby
Befehl zum Installieren der Pakete:
sudo apt-get install ruby
Oder mit apturl 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.
Navigation¶
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.
Links¶
Ruby Dokumentation mit Links zu vielen Anleitungen und kostenlosen Büchern 🇩🇪
ein Webfrontend zu zahlreichen Ruby Newsgroups und Mailinglisten 🇬🇧