Zurück zu Inhaltsverzeichnis.
Ruby-Doc.org
Eine umfangreiche Dokumentation findet sich auf . Dort sind viele Klassen mit ihren Methoden aufgeführt. Dort kann man nachschlagen, wenn man eine bestimmte Funktionalität sucht.
Integrierte Dokumentation
Im Paketumfang von Ruby ist ri enthalten, ein Dokumentationsbetrachter für die Konsole.
Wird das Programm ohne Parameter aufgerufen, so zeigt es Hinweise zur Bedienung an. Zu beachten ist, dass ri seine Ausgabe immer über den in der Umgebungsvariable $PAGER eingestellten Ausgabefilter leitet.
Um einen Überblick über alle Klassen mit Dokumentation zu erhalten, ruft man ri mit dem Parameter -c (oder --classes) auf:
$ ri -c
---------------------------------------------- Known classes and modules
Abbrev, ArgumentError, Array, BDB, BDB::Btree, BDB::Common,
BDB::Cursor, BDB::Env, BDB::Hash, BDB::Lock, BDB::LockDead,
BDB::LockError, BDB::LockGranted, BDB::LockHeld, BDB::Lockid,
BDB::Lsn, BDB::Queue, BDB::Recno, BDB::Recnum, BDB::Sequence,
BDB::Txn, Base64, Base64::Deprecated, Benchmark, Benchmark::Job,
Benchmark::Report, Benchmark::Tms, Bignum, Binding, CGI,
...
Iconv, Iconv::BrokenLibrary, Iconv::Failure,
Iconv::IllegalSequence, Iconv::InvalidCharacter,
Iconv::InvalidEncoding, Iconv::OutOfRange, IndexError, Integer,
Interrupt, Jabber, Jabber::AuthenticationFailure, Jabber::Client,
Jabber::Component, Jabber::Connection, Jabber::DiscoFeature,
Jabber::DiscoIdentity, Jabber::DiscoItem, Jabber::Error,
Jabber::ErrorException, Jabber::Helpers,
Jabber::Helpers::FileSource, Jabber::Helpers::FileTransfer,
...
Jabber::XMucUserInvite, Jabber::XMucUserItem, Jabber::XRoster,
Jabber::XRosterItem, Kernel, LoadError, LocalJumpError, Logger,
Logger::Application, Logger::Error, Logger::Formatter,
Logger::LogDevice, Logger::LogDevice::LogDeviceMutex,
Logger::Severity, Logger::ShiftingError, Marshal, MatchData, Math,
Matrix, Matrix::Scalar, MediaWiki, MediaWiki::Article,
MediaWiki::Category, MediaWiki::MiniBrowser, MediaWiki::Table,
MediaWiki::Wiki, Method, Module, Mutex, NameError,
NameError::message, NilClass, NoMemoryError, NoMethodError,
...
Zlib::VersionError, Zlib::ZStream, fatal
Für die Übersicht über Methoden einer Klasse genügt ein Aufruf mit dem Klassenname als Parameter:
% ri String|cat
---------------------------------------------------------- Class: String
A +String+ object holds and manipulates an arbitrary sequence of
bytes, typically representing characters. String objects may be
created using +String::new+ or as literals.
Because of aliasing issues, users of strings should be aware of the
methods that modify the contents of a +String+ object. Typically,
methods with names ending in ``!'' modify their receiver, while
those without a ``!'' return a new +String+. However, there are
exceptions, such as +String#[]=+.
------------------------------------------------------------------------
Includes:
---------
Comparable(<, <=, ==, >, >=, between?), Enumerable(all?, any?,
collect, detect, each_cons, each_slice, each_with_index, entries,
enum_cons, enum_slice, enum_with_index, find, find_all, grep,
include?, inject, map, max, member?, min, partition, reject,
select, sort, sort_by, to_a, to_set, zip)
Class methods:
--------------
new
Instance methods:
-----------------
%, *, +, <<, <=>, ==, =~, [], []=, capitalize, capitalize!,
casecmp, center, chomp, chomp!, chop, chop!, concat, count, crypt,
delete, delete!, downcase, downcase!, dump, each, each_byte,
each_line, empty?, eql?, gsub, gsub!, hash, hex, include?, index,
initialize_copy, insert, inspect, intern, length, ljust, lstrip,
lstrip!, match, next, next!, oct, replace, reverse, reverse!,
rindex, rjust, rstrip, rstrip!, scan, size, slice, slice!, split,
squeeze, squeeze!, strip, strip!, sub, sub!, succ, succ!, sum,
swapcase, swapcase!, to_f, to_i, to_s, to_str, to_sym, tr, tr!,
tr_s, tr_s!, unpack, upcase, upcase!, upto
Um eine Funktion nachzuschlagen, wird dieser mit einem Punkt (.) an den Klassenname angehangen:
% ri Fixnum.to_s
------------------------------------------------------------ Fixnum#to_s
fix.to_s( base=10 ) -> aString
------------------------------------------------------------------------
Returns a string containing the representation of _fix_ radix
_base_ (between 2 and 36).
12345.to_s #=> "12345"
12345.to_s(2) #=> "11000000111001"
12345.to_s(8) #=> "30071"
12345.to_s(10) #=> "12345"
12345.to_s(16) #=> "3039"
12345.to_s(36) #=> "9ix"
Da jedoch Instanzmethoden und Klassenmethoden (vgl. statische Methoden in Java) den gleichen Namen haben können, kann für Instanzmethoden ein Doppelkreuz (#) und Klassenmethoden zwei Doppelpunkte (::) verwendet werden.
Interactive Ruby Shell
Wenn sie Linux/OSX verwenden geben sie irb im Terminal ein.
irb(main):001:0>