Ruby-Programmierung: Hilfe
Zurück zu Inhaltsverzeichnis.
Ruby-Doc.org
BearbeitenEine umfangreiche Dokumentation findet sich auf [1]. Dort sind viele Klassen mit ihren Methoden aufgeführt. Dort kann man nachschlagen, wenn man eine bestimmte Funktionalität sucht.
Integrierte Dokumentation
BearbeitenIm 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.
Wenn sie Linux/OSX verwenden geben sie irb
im Terminal ein.
irb(main):001:0>