Ruby String Interpolation

Ruby String Interpolation
String -Interpolation bezieht. Die in eine Zeichenfolge interpolierten Werte werden auf ihre entsprechenden Werte bewertet. Die String -Interpolation kann als eine Form der Vorlageninjektion angesehen werden.

In diesem Leitfaden werden wir diskutieren, wie Sie Strings in die Ruby -Programmiersprache interpolieren können.

Verwenden von + Operator

Der einfachste Weg, die Werte in einer wörtlichen Zeichenfolge zu interpolieren, besteht darin, den Addition -Operator zu verwenden. Betrachten Sie das unten gezeigte Beispiel:

Name = "Alice"
setzt "Hallo" + Name

Im obigen Beispiel deklarieren wir eine Variable namens Name. Es hält den Wert "Alice". Mit dem Addition -Operator interpolieren wir ihn in einen String -Wert.

Der Ruby -Dolmetscher holt den vom variablen Namen verwiesenen Wert ab und verwendet ihn als den tatsächlichen Wert. Die resultierende Ausgabe ist wie gezeigt:

$ Ruby Interpolation.rb
Hallo Alice

Der Additionoperator enthält einen Nachteil bei der Interpolation von Variablen in eine Zeichenfolge. Es funktioniert nur mit Saitenobjekten.

Nehmen Sie das folgende Beispiel:

Alter = 10
Setzt "Ich bin" + Alter + "Jahre alt"

Wenn Sie versuchen, einen solchen Vorgang auszuführen, gibt Ruby ein Typeerror zurück

'+': Keine implizite Konvertierung von Null hinein String (TypeError)

Eine Möglichkeit, ein solches Problem zu beheben, besteht darin, die Variable mit der Methode to_s in eine Zeichenfolge umzuwandeln.

Zum Beispiel:

Alter = 10
stellt ("Ich bin" + Alter.to_s + "Jahre alt")

Jetzt können wir die Ganzzahlvariable in die Zeichenfolge injizieren, indem wir sie als Zeichenfolge gießen.

Verwendung der << Operator

Der linke Schaltoperator arbeitet ähnlich wie der Additionsbetreiber. Es injiziert die übergebene Variable in eine Zeichenfolge, die wörtlich ist.

Beispiel:

Lang = "Ruby"
stellt Lang << " is an fun!"

Ähnlich wie beim Addition -Operator müssen Sie die Variable in eine Zeichenfolge umwandeln, um TypenErrors zu verhindern.

Verwenden Sie #

Die beiden oben diskutierten Methoden halten einen einzigen Nachteil. Es wird kompliziert, einen Ausdruck in einem Streicherliteral auszuführen.

Schauen Sie sich das Beispiel unten an:

Radius = 7.43
stellt "den Bereich des Radiuskrükels" + + Radius ein.to_s + "ist" + radius * radius * 3.141 + "CM2"

Die obige Operation ist mit den oben diskutierten Methoden nicht möglich.

Um dies zu lösen, können wir den Expressions -Substitutionsoperator in Ruby verwenden:

Die Syntax ist wie:

#Variable

Wir setzen die Variable oder den Ausdruck in das Paar lockiger Zahnspangen. Ruby bewertet den Ausdruck und interpolieren Sie die Schnur.

Betrachten Sie das vorherige Beispiel mit dem Interpolationsoperator.

Radius = 7.43
Setzt "den Bereich des Circle of Radius #radius ist #Radius * Radius * 3.141 cm2 "

Das ist viel besser. Mit der obigen Notation können wir eine einzelne Variable und gültige Rubinausdrücke in eine Zeichenfolge injizieren.

Unten ist die resultierende Ausgabe:

$ Ruby Substring.rb
Der Bereich des Kehlees von Radius 7.43 ist 173.3985909 CM2

In diesem Fall müssen wir den Ausdruck nicht ausführen, ihn in eine Zeichenfolge konvertieren und dann in die Zeichenfolge interpolieren.

Mit dieser Methode kümmert sich Ruby um alles.

Abschluss

Diese Anleitung hat dargestellt.