Für diejenigen, die mit dem Begriff Gems nichts anfangen können: Das sind Zusatzmodule oder Libraries, die man sich bei Bedarf aus dem Netz (typischerweise von www.rubyforge.net) herunterladen und verwenden kann.
Ein Beispiel mit einem von mir geschriebenen Gem:
Angenommen, man will auf Excel- oder Openoffice-Spreadsheets zugreifen, möchte sich jedoch nicht alles von Grund auf selbst schreiben.
Stattdessen gibt man auf der Kommandozeile ein:
'gem install roo' (roo ist der Name des Gems, und steht in diesem Fall für Ruby OpenOffice)
Daraufhin wird das Gem von rubyforge.net geholt und lokal installiert.
Anschließend kann man es in eigenen Ruby-Programmen folgendermaßen verwenden:
require 'rubygems'
require 'roo'
spreadsheet = Openoffice.new("meinespreadsheetdatei.ods")
spreadsheet.default_sheet = spreadsheet.sheets.first
puts spreadsheet.cell('A',1)
...
Mit Gems kann man also auf eine Vielzahl von Funktionen zugreifen, die andere Leute in Pakete verpackt und öffentlich zur Verfügung gestellt haben. Meiner Meinung nach hat auch das Vorhandensein eines derartigen zentralen Repositories zu der Beliebtheit von Ruby beigetragen, weil der Austausch von Libraries sehr leicht möglich ist. Leider gibt es so etwas in der Ada-Welt überhaupt nicht.
Weiter mit unserem Anliegen. Schön wäre es jetzt, wenn man dieses Gem auch in eigenen Ada-Programmen verwenden könnte.
Das könnte in etwas so aussehen:
procedure AdaRoo is
begin
require_rubygems;
require_rubygem ('roo');
spreadsheet := OpenOffice.new("meinespeadsheetdatei.ods");
Set_Default_Sheet(spreadsheet, speadsheet.sheets(1));
cell := spreadsheet.cell('A',1);
Put_Line (cell);
...
end AdaRoo;
Die Syntax könnte sich noch ändern, aber so ungefähr sollte man ein derartiges Gem verwenden können.
Mehr dazu dazu im nächsten Teil, der bald veröffentlicht wird.
0 Kommentare:
Kommentar veröffentlichen