Zurück zum Blog

Arbeiten mit Strings in Ruby

Arbeiten mit Strings in Ruby

Ruby ist eine interpretierte, dynamische, reflektierende, objektorientierte Programmiersprache. Entwickelt von Yukihiro Matsumoto, konzentriert sich Ruby auf Einfachheit und Produktivität. Die elegante Syntax ermöglicht es Entwicklern, Code einfacher zu lesen und zu schreiben.

In dieser Anleitung werden wir mit Strings in Ruby arbeiten.

Voraussetzungen

Um die in diesem Tutorial gezeigten Schritte auszuführen, benötigen Sie die folgenden Komponenten:

Der Datentyp String

In der Programmierung ist ein String ein gängiger Datentyp, den jede moderne Programmiersprache unterstützt. Er zeichnet sich durch eine Folge von Zeichen aus. Die gesamte Zeichenfolge wird als ein einziges Datenelement behandelt. Ein String kann Buchstaben, Ziffern und Sonderzeichen/Symbole enthalten.

Da Ruby eine rein objektorientierte Programmiersprache ist, behandelt sie Strings als Objekte. Im Gegensatz zu vielen anderen Sprachen sind Strings in Ruby veränderlich. Im Grunde kann der String-Wert direkt vor Ort geändert werden.

Schritt 1 – Erstellen und Ausgeben von Strings

In Ruby werden Strings entweder in einfache Anführungszeichen ( ') oder doppelte Anführungszeichen ( ") eingeschlossen. Die folgenden sind zwei gültige Strings in Ruby:

Um eine Ausgabe auf dem Konsolenbildschirm auszugeben, verfügt Ruby über die print-Methode:

Zeit, es in die Tat umzusetzen. Erstellen Sie eine neue Ruby-Datei practice.rb und geben Sie die folgenden Codes ein:

Führen Sie den Code aus:

Strings in Ruby 1

Wie erwartet gibt der print-Befehl die bereitgestellten Strings aus. Wenn wir die Strings in separaten Zeilen ausgeben möchten, ist es besser, stattdessen puts zu verwenden. Aktualisieren Sie den Code:

Führen Sie den Code als Nächstes erneut aus:

Strings in Ruby 2

Schritt 2 – String-Variablen

Variablen sind Namen, die sich auf einen bestimmten Platz im Computerspeicher beziehen, an dem ein Wert gespeichert ist. Wir können den gewünschten Wert in der Variable speichern und ihn später verwenden.

Um in Ruby eine String-Variable zu deklarieren, definieren Sie den Variablennamen und weisen Sie einen String-Wert zu:

Schreiben Sie den folgenden Code in practice.rb:

Führen Sie den Code aus:

Hier:

  • Wir haben zwei Variablen definiert, first_half und second_half, denen jeweils ein String-Wert zugewiesen wurde.
  • Die puts-Methode gibt den Wert der Variablen aus.

Schritt 3 – String-Verkettung

Durch Verkettung können wir mehrere Strings nehmen und sie miteinander verbinden, um einen neuen String zu erstellen. Die String-Verkettung wird durch den Verkettungsoperator ( +) gekennzeichnet. Beachten Sie, dass dieses Symbol bei arithmetischen Operationen auch der Additionsoperator ist.

Versuchen wir, eine String-Verkettung mit den Strings durchzuführen, die wir bisher deklariert haben:

Führen Sie den Code aus:

Wie die Ausgabe zeigt, fügt die Verkettung kein zusätzliches Zeichen zwischen den Strings ein. Deshalb werden fox und jumps zusammengeschrieben. Wir können dies beheben durch ein Leerzeichen nach fox:

Führen Sie den Code aus:

Jetzt sieht die Ausgabe besser aus.

Die String-Verkettung funktioniert auch mit Variablen. Sehen Sie sich das folgende Beispiel an:

Strings in Ruby 3

Führen Sie den Code aus:

Das nächste Beispiel zeigt eine lange Kette von Verkettungen:

Strings in Ruby 4

Führen Sie den Code aus:

Bisher haben wir uns nur mit String-Variablen befasst. Was wäre, wenn es verschiedene Variablentypen gäbe? Das folgende Programm testet dieses Szenario:

Strings in Ruby 5

Beim Versuch, dieses Programm auszuführen, gibt Ruby eine Fehlermeldung aus:

Wir können jedoch die Ganzzahl (Integer) in einen String konvertieren, um dieses Problem zu vermeiden:

Strings in Ruby 6

Hier:

  • Die Methode to_s konvertiert den Variablenwert in einen String.

Das Konvertieren von Zahlen in Strings kommt häufig vor, wenn man mit Elementen wie Postleitzahlen, Währungen, Telefonnummern und anderen numerischen Daten arbeitet.

Schritt 4 – String-Interpolation

Obwohl die String-Verkettung eine leistungsstarke Funktion ist, kann sie sehr leicht knifflig werden. In vielen Situationen werden Sie wahrscheinlich feststellen, dass Ihnen ein Verkettungsoperator ( +) fehlt, was zu großem Kopfzerbrechen führt. Zudem müssen sie bei der Arbeit mit verschiedenen Datentypen zuerst in einen String konvertiert werden. Glücklicherweise bietet Ruby andere Möglichkeiten, Variablenwerte in einen String einzufügen, und zwar mithilfe der Funktion String-Interpolation.

So sieht das aus. Anstatt beispielsweise Folgendes zu verwenden:

Werden wir Folgendes verwenden:

Obwohl die Syntax etwas seltsam aussehen mag, vereinfacht sie den Code drastisch. Es ist nicht erforderlich, die Methode to_s manuell aufzurufen, um den Variablenwert in einen String zu konvertieren.

Lassen Sie uns diese neue Technik verwenden, um unseren vorherigen Code zu aktualisieren:

Strings in Ruby 7

Führen Sie den Code aus:

Schritt 5 – String-Literale und String-Werte

Beachten Sie, dass im Code deklarierte Strings immer in Anführungszeichen gesetzt sind. Bei der Ausgabe auf dem Konsolenbildschirm fehlen jedoch die Anführungszeichen. Es gibt eindeutig einen Unterschied zwischen beiden.

  • String-Literal: Es ist der im Quellcode geschriebene String (einschließlich der Anführungszeichen).
  • String-Wert: Es ist der Wert, der in der Ausgabe ausgegeben wird (ohne die Anführungszeichen).

Das folgende ist beispielsweise ein String-Literal:

Der String-Wert davon wäre hello world.

Schritt 6 – Maskierung von Anführungszeichen und Apostrophen

Wie wir gezeigt haben, werden Anführungszeichen und Apostrophe verwendet, um Strings im Quellcode zu kennzeichnen. Dies stellt ein Problem dar: Sie können sie nicht direkt im String verwenden. Andernfalls führt dies zu Problemen. Der folgende Code veranschaulicht dies:

Strings in Ruby 8

Es gibt verschiedene Taktiken, um dieses Problem zu umgehen.

  • Verwendung einer alternativen String-Syntax

Dies ist der einfachste Weg, das Problem zu umgehen. Wenn Ihr String einfache Anführungszeichen benötigt, verwenden Sie doppelte Anführungszeichen im String-Literal (und umgekehrt).

Lassen Sie uns das vorherige Beispiel korrigieren:

Ein weiteres Beispiel wäre:

Dies wird jedoch nicht in jeder Situation funktionieren. Zum Beispiel:

  • Verwendung von Escape-Zeichen

Der Backslash ( \) wird oft als Escape-Zeichen bezeichnet. Es verhindert, dass Ruby das nächste Zeichen wörtlich interpretiert. Lassen Sie uns das vorherige Beispiel korrigieren. Verwenden Sie den Backslash, um zu verhindern, dass Ruby die internen doppelten Anführungszeichen als Literale interpretiert:

  • Alternative Syntax verwenden

Bisher haben wir nur mit einfachen und doppelten Anführungszeichen gearbeitet, um das String-Literal zu kennzeichnen. Die vorherigen Beispiele zeigen jedoch auf einfache Weise, wie dies sehr schnell aus dem Ruder laufen kann. Um dieses Problem zu lösen, können wir die Anführungszeichen ganz weglassen und ein völlig anderes Symbol verwenden, um den Anfang und das Ende einer Zeichenkette zu kennzeichnen.

Schauen Sie sich das folgende Beispiel an:

Hier:

    • Das Symbol % definiert das nächste Zeichen ( $, in diesem Fall) als Begrenzer der Zeichenkette.
    • Das String-Literal hier ist $the quick brown fox said, "I jumped over the lazy dog"$.

Setzen wir es in die Tat um:

Hier wird die Zeichenkette im Grunde wie folgt behandelt:

Dies führt jedoch wieder zu dem Problem, dass der Begrenzer maskiert werden muss, wenn er in der Zeichenkette verwendet wird. Eine Möglichkeit, dies zu vermeiden, besteht darin, Symbole zu verwenden, die im Allgemeinen nicht in Zeichenketten vorkommen. Solche Symbole können geschweifte Klammern, eckige Klammern usw. sein:

Es funktioniert auch hervorragend mit String-Interpolationen:

Es ist auch üblich, %Q{} und %q{} zu verwenden, um Zeichenketten in Ruby-Programmen zu definieren. Hier verhält sich %Q{} wie doppelte Anführungszeichen und %q{} wie einfache Anführungszeichen.

Schritt 7 – Zeilenumbrüche und lange Zeichenketten

Bei der Arbeit mit Zeichenketten gibt es Situationen, in denen Sie einen Zeilenumbruch (Newline) oder Wagenrücklauf (Carriage Return) in die Zeichenkette einfügen möchten. Dies können wir tun, indem wir die Escape-Zeichen \n (Newline) und \r (Carriage Return) einführen.

Schauen Sie sich das folgende Beispiel an:

Das String-Literal sieht verwirrend aus, oder? Ordnen wir es für eine bessere Lesbarkeit neu an:

Anstatt die Zeilenumbruchzeichen manuell zu deklarieren, können wir auch die folgende Struktur verwenden:

Strings in Ruby 8

Strings in Ruby 9

Bei dieser Methode behält die Zeichenkette alle Leerzeichen bei. Dies beeinträchtigt jedoch die Ausgabe. Entfernen Sie die zusätzlichen Leerzeichen, um das Problem zu beheben:

Strings in Ruby 10

Obwohl das Problem mit den Leerzeichen behoben wurde, verringert es die Lesbarkeit des Codes. Wir können dieses Problem beheben, indem wir ein heredoc implementieren, ein Begriff für mehrzeilige String-Literale. Der aktualisierte Code würde so aussehen:

Strings in Ruby 11

Strings in Ruby 12

Ab Ruby v2.3 und höher steht eine weitere Funktion zur Verfügung, die squiggly heredoc-Syntax genannt wird. Sie entfernt die führenden Leerzeichen in den Zeichenketten. Um ein squiggly Heredoc auszudrücken, ersetzen Sie den Bindestrich ( -) durch eine Tilde ( ~):

Strings in Ruby 13

Schritt 8 – Replizieren von Strings

In manchen Situationen kann es notwendig sein, einen String mehrmals zu wiederholen. Ruby ermöglicht das Replizieren von Strings auf verschiedene Weise.

Eine solche Technik ist die Verwendung des *-Operators. Im Allgemeinen wird er bei Zahlen als Multiplikationsoperator verwendet. Bei Strings wird er jedoch zum String-Replikationsoperator, der den einzelnen String so oft wie nötig wiederholt. Die Anzahl der Wiederholungen muss eine ganze Zahl sein.

In dem folgenden Beispiel wird der Text Boris 5-mal wiederholt:

Strings in Ruby 14

Mit dieser Funktion können wir coole ASCII-Art erstellen. Sieh dir das folgende Beispiel an:

Fazit

Strings sind in der Programmierung von grundlegender Bedeutung. Diese Anleitung zeigt die Arbeit mit Strings in Ruby. Wir haben gelernt, wie man Strings erstellt und verschiedene Operationen wie Konkatenation, den Umgang mit Zeilenumbrüchen, Anführungszeichen usw. durchführt. Mithilfe der String-Interpolation haben wir außerdem gelernt, wie man Variablenwerte besser in Strings integriert. Mit dem String-Replikationsoperator können wir einen einzelnen String auch mehrfach wiederholen.

Obwohl Ruby für sich genommen eine hervorragende Programmiersprache ist, wird sie oft mit dem Rails-Framework kombiniert. Ruby on Rails ist ein Open-Source-Web-App-Framework. Erfahre mehr über die Installation von Ruby on Rails auf Ubuntu. Ruby kann jedoch auch mit anderen Anwendungen wie MySQL und PostgreSQL.

Viel Spaß beim Programmieren!

author

Preslav Dobrev

Autor · CloudSigma

Preslav Dobrev ist ein kreativer Designer bei CloudSigma und konzentriert sich auf eine konsistente Unternehmensidentität durch traditionelle und innovative Marketingkanäle. Er versteht es meisterhaft, künstlerische Vision mit strategischem Marketing zu verbinden, um wirkungsvolle Markengeschichten zu schaffen.

Kommentare

Noch keine Kommentare. Schreiben Sie den ersten.