Ruby Standardbibliothek
Die Ruby-Standardbibliothek ist eine große Sammlung von Klassen und Modulen, die Sie in Ihrem Code einbinden können, um zusätzliche Funktionen zu erhalten.
Unten finden Sie eine Übersicht über die Bibliotheken und Erweiterungen, gefolgt von einer kurzen Beschreibung jeder einzelnen.
Bibliotheken
-
MakeMakefile: Ein Modul, das zur Generierung einer Makefile für C-Erweiterungen verwendet wird -
RbConfig: Informationen über Ihre Ruby-Konfiguration und Ihren Build -
Gem: Ein Paketverwaltungsframework für Ruby
Erweiterungen
-
Coverage: Bietet Messungen der Abdeckung für Ruby -
Monitor: Bietet einen reentranten Mutex -
objspace: Erweitert das ModulObjectSpaceum Methoden für interne Statistiken -
PTY: Erstellt und verwaltet Pseudo-Terminals -
Ripper: Bietet eine Schnittstelle zum Parsen von Ruby-Programmen in S-Ausdrücke -
Socket: Greift auf zugrunde liegende Betriebssystem-Socket-Implementierungen zu
Standard-Gems
-
Standard-Gems werden mit Ruby-Releases ausgeliefert und sind auch als Rubygems verfügbar.
-
Standard-Gems können nicht aus der Ruby-Installation deinstalliert werden.
-
Standard-Gems können mit Rubygems aktualisiert werden.
-
z.B.
gem update json
-
-
Standard-Gems können mit Bundler-Umgebungen wie
unbundled_envverwendet werden. -
Standard-Gems können in einem Gemfile in jeder Version verwendet werden.
-
z.B.
gem "json", ">= 2.6"
-
Bibliotheken
-
Bundler(GitHub): Verwaltet die Gem-Abhängigkeiten Ihrer Ruby-Anwendung -
Delegator(GitHub): Bietet drei Möglichkeiten, Methodenaufrufe an ein Objekt zu delegieren -
DidYouMean(GitHub): "Meinten Sie?"-Erfahrung in Ruby -
English(GitHub): Bietet Referenzen auf spezielle globale Variablen mit weniger kryptischen Namen -
ERB(GitHub): Ein einfach zu bedienendes, aber leistungsfähiges Template-System für Ruby -
ErrorHighlight(GitHub): Hervorhebt Fehlerstellen in Ihrem Code -
FileUtils(GitHub): Verschiedene Dienstprogramme zur Dateioperation, wie Kopieren, Verschieben, Entfernen usw. -
Find(GitHub): Dieses Modul unterstützt die Top-Down-Durchquerung eines Satzes von Dateipfaden -
Forwardable(GitHub): Bietet die Delegation angegebener Methoden an ein bestimmtes Objekt -
IPAddr(GitHub): Bietet Methoden zur Manipulation von IPv4- und IPv6-IP-Adressen -
OptionParser(GitHub): Ruby-orientierte Klasse zur Analyse von Kommandozeilenoptionen -
Open3(GitHub): Bietet Zugriff auf stdin, stdout und stderr beim Ausführen anderer Programme -
OpenURI(GitHub): Ein einfach zu bedienender Wrapper fürURI::HTTP,URI::HTTPSundURI::FTP -
PrettyPrint(GitHub): Implementiert einen Pretty-Printing-Algorithmus für lesbare Strukturen -
Resolv(GitHub): Thread-sichere DNS-Resolver-Bibliothek in Ruby -
SecureRandom(GitHub): Schnittstelle für einen sicheren Zufallszahlengenerator -
Shellwords(GitHub): Manipuliert Zeichenketten nach den Wort-Parsing-Regeln der UNIX Bourne Shell -
Singleton(GitHub): Implementierung desSingleton-Musters für Ruby -
Tempfile(GitHub): Eine Hilfsklasse zur Verwaltung temporärer Dateien -
Time(GitHub): Erweitert die KlasseTimeum Methoden für Parsing und Konvertierung -
Timeout(GitHub): Auto-Beendigung potenziell langlaufender Operationen in Ruby -
TmpDir (GitHub): Erweitert die Klasse
Dirzur Verwaltung des temporären Dateipfads des Betriebssystems -
TSort(GitHub): Topologische Sortierung mit Tarjans Algorithmus -
UN (GitHub): Dienstprogramme zum Ersetzen gängiger UNIX-Befehle
-
URI(GitHub): Ein Ruby-Modul, das Unterstützung für Uniform Resource Identifiers bietet -
YAML(GitHub): Die Ruby-Clientbibliothek für diePsychYAML-Implementierung -
WeakRef(GitHub): Ermöglicht das Garbage-Collecting eines referenzierten Objekts
Erweiterungen
-
Date(GitHub): Stellt Daten dar, mit einer Unterklasse für Daten mit Zeit und Zeitzonen -
Digest(GitHub): Bietet ein Framework für Nachrichten-Digest-Bibliotheken -
Etc(GitHub): Bietet Zugriff auf Informationen, die typischerweise im UNIX /etc-Verzeichnis gespeichert sind -
Fcntl(GitHub): Lädt Konstanten, die in der C-Header-Datei fcntl.h des Betriebssystems definiert sind -
IO.console(GitHub): Erweiterungen für die KlasseIO, einschließlichIO.console,IO.winsizeusw. -
IO#nonblock(GitHub): Aktiviert den Nicht-Blockierungsmodus mit der KlasseIO. -
IO#wait(GitHub): Bietet die Funktion zum Warten, bisIOlesbar oder schreibbar ist, ohne zu blockieren. -
JSON(GitHub): Implementiert JavaScriptObjectNotation für Ruby -
OpenSSL(GitHub): Bietet SSL, TLS und allgemeine Kryptographie für Ruby -
Pathname(GitHub): Darstellung des Namens einer Datei oder eines Verzeichnisses im Dateisystem -
StringScanner(GitHub): Bietet lexikalische Scanoperationen auf einemString -
Zlib(GitHub): Ruby-Schnittstelle für die zlib-Komprimierungs-/Dekomprimierungsbibliothek
Bundled Gems
-
Bundled Gems werden mit Ruby-Releases ausgeliefert und sind auch als Rubygems verfügbar.
-
Sie sind nur mit Ruby-Releases gebündelt.
-
Sie können aus der Ruby-Installation deinstalliert werden.
-
Sie müssen in einer Gemfile deklariert werden, wenn sie mit Bundler verwendet werden.
-
Bibliotheken
-
minitest: Eine Testbibliothek, die TDD, BDD, Mocking und Benchmarking unterstützt
-
power_assert: Power Assert für Ruby
-
rake (GitHub): Ruby-Build-Programm mit Funktionen ähnlich wie make
-
test-unit: Eine Kompatibilitätsschicht für MiniTest
-
rss: Eine Familie von Bibliotheken, die verschiedene XML-basierte "Feeds" unterstützt
-
net-imap: Ruby-Client-API für das Internet Message Access Protocol
-
net-pop: Ruby-Clientbibliothek für POP3
-
net-smtp: Simple Mail Transfer Protocol-Clientbibliothek für Ruby
-
matrix: Stellt eine mathematische Matrix dar
-
prime: Primzahlen- und Faktorisierungsbibliothek
-
rbs: RBS ist eine Sprache zur Beschreibung der Struktur von Ruby-Programmen
-
typeprof: Ein Werkzeug zur Typanalyse für Ruby-Code, basierend auf abstrakter Interpretation
-
debug: Debugging-Funktionalität für Ruby
-
racc (GitHub): Ein LALR(1)-Parser-Generator, geschrieben in Ruby
-
mutex_m: Mixin zur Erweiterung von Objekten, die wie ein Mutex behandelt werden sollen
-
getoptlong: Parsen von Kommandozeilenoptionen ähnlich wie bei der GNU C getopt_long()
-
base64: Unterstützung für die Kodierung und Dekodierung von Binärdaten unter Verwendung einer Base64-Darstellung
-
bigdecimal: Bietet Dezimalarithmetik mit Gleitkommazahlen beliebiger Genauigkeit
-
observer: Bietet einen Mechanismus für das Publish/Subscribe-Muster in Ruby
-
abbrev: Berechnet einen Satz eindeutiger Abkürzungen für eine gegebene Menge von Zeichenketten
-
resolv-replace: Ersetzt
SocketDNS durchResolv -
rinda: Das Linda-Paradigma für verteilte Berechnungen in Ruby
-
drb: Verteiltes Objektsystem für Ruby
-
nkf: Ruby-Erweiterung für den Network Kanji Filter
-
syslog: Ruby-Schnittstelle für die POSIX-Systemprotokollierungsfunktion
-
csv (GitHub): Bietet eine Schnittstelle zum Lesen und Schreiben von CSV-Dateien und -Daten
-
ostruct: Eine Klasse zum Erstellen benutzerdefinierter Datenstrukturen, ähnlich einem
Hash -
benchmark: Bietet Methoden zur Messung und Berichterstattung über die zur Ausführung von Code verwendete Zeit
-
logger (GitHub): Bietet ein einfaches Protokollierungsdienstprogramm zur Ausgabe von Meldungen
-
pstore: Implementiert einen dateibasierten Persistenzmechanismus, der auf einem
Hashbasiert -
win32ole: Bietet eine Schnittstelle für OLE-Automatisierung in Ruby
-
reline (GitHub): GNU Readline und Editline in einer reinen Ruby-Implementierung
-
readline: Wrapper für die Readline-Erweiterung und Reline
-
fiddle: Ein libffi-Wrapper für Ruby