Konvertieren ein Array in einen String in Ruby

Stewart Nguyen 30 Januar 2023
  1. Verwenden Sie to_s, um ein Array in Ruby in einen String zu konvertieren
  2. Verwenden inspect, um einen Array-String in Ruby zu konvertieren
  3. Verwenden Sie join und map, um ein Array in einen String für ein komplexes Ausgabeformat in Ruby zu konvertieren
Konvertieren ein Array in einen String in Ruby

Gegeben sei ein Array, zum Beispiel ['12', '34', '56']. Wie konvertiert man es in Ruby in einen String?

Verwenden Sie to_s, um ein Array in Ruby in einen String zu konvertieren

to_s ist eine allgemeine eingebaute Methode, die für Array-Typen und die meisten Ruby-Datentypen verfügbar ist, einschließlich Hash, Zahl oder sogar Boolean. Der zurückgegebene Wert ist vom Typ String.

['12', '34', '56'].to_s

Ausgabe:

"[\"12\", \"34\", \"56\"]"

Wir finden das Ausgabeformat vielleicht komplex, aber beim Drucken ist es ziemlich gut.

puts ['12', '34', '56'].to_s

Ausgabe:

["12", "34", "56"]

Wenn wir ein Array in einen String interpolieren, wird unter der Haube to_s aufgerufen.

array = ['12', '34', '56']
string = "My array: #{array}"
puts string

Ausgabe:

My array: ["12", "34", "56"]

Verwenden inspect, um einen Array-String in Ruby zu konvertieren

inspect gibt einen für Menschen lesbaren String für jedes Objekt in Ruby zurück und kann anstelle von to_s verwendet werden.

puts ['12', '34', '56'].inspect

Ausgabe:

["12", "34", "56"]

Verwenden Sie join und map, um ein Array in einen String für ein komplexes Ausgabeformat in Ruby zu konvertieren

Wie konvertiert man ['12', '34', '56'] in eine Zeichenfolge mit dem Format '12','34','56'?

Wie wir sehen können, geben sowohl to_s als auch inspect zusätzliche eckige Klammern und Leerzeichen zurück und verwenden das doppelte Anführungszeichen (") anstelle des einfachen Anführungszeichens (').

Um dies zu erreichen, könnten wir join und map kombinieren, um ein Array in einen String mit einem benutzerdefinierten Ausgabeformat zu konvertieren.

Verwenden Sie zuerst Array#join, um ein Trennzeichen zwischen den Elementen des Arrays hinzuzufügen.

['12', '34', '56'].join("','")

Ausgabe:

"12','34','56"

Verwenden Sie zweitens eine Zeichenketteninterpolation, um das temporäre Ergebnis in ein Paar einfache Anführungszeichen zu setzen.

delimeter_added_string = ['12', '34', '56'].join("','")
result = "'#{delimeter_added_string}'"
puts result

Ausgabe:

=> '12','34','56'

Verwandter Artikel - Ruby Array

Verwandter Artikel - Ruby String