Bücher online kostenlos Kostenlos Online Lesen
Die Programmiersprache Ruby (German Edition)

Die Programmiersprache Ruby (German Edition)

Titel: Die Programmiersprache Ruby (German Edition) Kostenlos Bücher Online Lesen
Autoren: David Flanagan , Yukihiro Matsumoto
Vom Netzwerk:
folgenden einfachen Ruby-Ausdruck:
0.4 - 0.3 == 0.1 # Ergibt in den meisten Implementierungen false
    Aufgrund des Rundungsfehlers ist die Differenz zwischen den Näherungswerten von
0.3
und
0.4
nicht ganz dasselbe wie der Näherungswert von
0.1
. Dieses Problem ist nicht Ruby-spezifisch: C, Java, JavaScript und alle Sprachen, die IEEE-754-Fließkommazahlen verwenden, leiden ebenfalls darunter.
    Eine Lösung dieses Problems besteht darin, eine dezimale Darstellung reeller Zahlen statt einer binären zu verwenden. Die Klasse
BigDecimal
aus der Ruby-Standardbibliothek ist eine solche Darstellung. Arithmetik mit
BigDecimal
-Objekten ist um ein Vielfaches langsamer als Arithmetik mit
Float
-Werten. Sie ist schnell genug für typische Finanzkalkulationen, aber nicht für wissenschaftliches Rechnen. „9.3.3 Dezimalarithmetik“ enthält ein kurzes Beispiel zur Verwendung der Bibliothek
BigDecimal
.

3.2 Text
    Text wird in Ruby durch Objekte der Klasse
String
repräsentiert. Strings sind veränderliche Objekte; die Klasse
String
definiert einen leistungsfähigen Satz von Operatoren und Methoden zum Extrahieren von Teilstrings, zum Einfügen und Entfernen von Text, zum Suchen, zum Ersetzen und so weiter. Ruby bietet Ihnen eine Vielzahl von Möglichkeiten, String-Literale in Ihren Programmen darzustellen, und viele davon unterstützen eine mächtige String-Interpolationssyntax, mit deren Hilfe die Werte beliebiger Ruby-Ausdrücke durch String-Literale ersetzt werden können. Die nachfolgenden Abschnitte beschreiben String- und Zeichenliterale sowie String-Operatoren. Die vollständige String-API wird in „9.1 Strings“ behandelt.
    Textmuster werden in Ruby als
Regexp
-Objekte dargestellt, und Ruby definiert eine Syntax zum literalen Einfügen regulärer Ausdrücke in Ihre Programme. Der Code
/[a-z]\d+/
steht beispielsweise für einen einzelnen Kleinbuchstaben, gefolgt von einer oder mehreren Ziffern. Reguläre Ausdrücke sind ein häufig genutztes Feature von Ruby, aber sie sind kein grundlegender Datentyp wie Zahlen, Strings und Arrays. Die Dokumentation der Syntax regulärer Ausdrücke und die
Regexp
-API finden Sie in „9.2 Reguläre Ausdrücke“ .
    ----
    Text in Ruby 1.8 und Ruby 1.9
    Die wichtigste Änderung von Ruby 1.8 zu Ruby 1.9 besteht darin, dass Ruby 1.9 über eine vollständige eingebaute Unterstützung für Unicode und andere Mehrbyte-Textdarstellungen verfügt. Die Auswirkungen dieser Änderung sind umfangreich; sie werden an vielen Stellen dieses Abschnitts erwähnt, insbesondere in „3.2.6 String-Kodierungen und Multibyte-Zeichen“ .
    ----
    3.2.1 String-Literale
    Ruby bietet eine ganze Menge von Möglichkeiten, String-Literale in Ihre Programme einzubetten.
    3.2.1.1 String-Literale in einfachen Anführungszeichen
    Die einfachsten String-Literale werden von einfachen Anführungszeichen (dem Apostroph-Zeichen) umschlossen. Der Text innerhalb der Anführungszeichen ist der Wert des String:
'Dies ist ein einfaches Ruby-String-Literal'
    Wenn Sie einen Apostroph innerhalb eines String-Literals in einfachen Anführungszeichen platzieren müssen, stellen Sie ihm einen Backslash voran, damit der Ruby-Interpreter den String nicht abschließt:
'Macht\'s Spaß, das O\'Reilly-Buch zu lesen?'
    Der Backslash dient auch dem Escapen eines weiteren Backslash, damit der zweite Backslash nicht selbst als Escape-Zeichen interpretiert wird. Hier sehen Sie einige Situationen, in denen Sie einen doppelten Backslash verwenden müssen:
'Dieses String-Literal endet mit einem einfachen Backslash: \\'
'Dies ist ein Backslash-Anführungszeichen: \\\''
'Zwei Backslashes: \\\\'
    In Strings mit einfachen Anführungszeichen ist ein Backslash nichts Besonderes, wenn das nachfolgende Zeichen etwas anderes als ein Anführungszeichen oder ein Backslash ist. In den meisten Fällen brauchen Backslashes in String-Literalen daher nicht verdoppelt zu werden (wenngleich es möglich ist). Die folgenden beiden String-Literale sind zum Beispiel identisch:
'a\b' == 'a\\b'
    Strings in einfachen Anführungszeichen können sich über mehrere Zeilen erstrecken, und das Ergebnis-String-Literal enthält die Zeilenumbruchzeichen. Es ist nicht möglich, die Zeilenumbrüche mit einem Backslash zu escapen:
'Dies ist ein langes String-Literal, \
das einen Backslash und einen Zeilenumbruch enthält.'
    Wenn Sie ein langes String-Literal in einfachen Anführungszeichen auf mehrere Zeilen verteilen möchten, zerlegen Sie es einfach in mehrere aufeinanderfolgende

Weitere Kostenlose Bücher