Convertir un tableau en chaîne en Ruby

Stewart Nguyen 30 janvier 2023
  1. Utilisez to_s pour convertir un tableau en chaîne en Ruby
  2. Utilisez inspect pour convertir une chaîne de tableau en Ruby
  3. Utilisez join et map pour convertir un tableau en chaîne pour un format de sortie complexe en Ruby
Convertir un tableau en chaîne en Ruby

Soit un tableau, par exemple ['12', '34', '56']. Comment le convertir en chaîne en ruby?

Utilisez to_s pour convertir un tableau en chaîne en Ruby

to_s est une méthode intégrée courante disponible pour le type de tableau et la plupart des types de données ruby, y compris les hachages, les nombres ou même les booléens. La valeur renvoyée a le type de chaîne.

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

Production :

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

Nous pouvons trouver que le format de sortie semble complexe, mais c’est plutôt agréable lors de l’impression.

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

Production :

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

Lorsque nous interpolons un tableau dans une chaîne, il appellera to_s sous le capot.

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

Production :

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

Utilisez inspect pour convertir une chaîne de tableau en Ruby

inspect renvoie une chaîne lisible par l’homme pour tout objet en ruby, et elle peut être utilisée à la place de to_s.

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

Production :

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

Utilisez join et map pour convertir un tableau en chaîne pour un format de sortie complexe en Ruby

Comment convertir ['12', '34', '56'] en une chaîne au format '12','34','56' ?

Comme nous pouvons le voir, to_s et inspect renvoient des crochets supplémentaires, des espaces et utilisent le guillemet double (") au lieu du guillemet simple (')

Pour ce faire, nous pourrions combiner join et map pour convertir un tableau en une chaîne avec un format de sortie personnalisé.

Tout d’abord, utilisez Array#join pour ajouter un délimiteur entre les éléments du tableau.

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

Production :

"12','34','56"

Deuxièmement, utilisez l’interpolation de chaîne pour entourer le résultat temporaire à l’intérieur d’une paire de guillemets simples.

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

Production :

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

Article connexe - Ruby Array

Article connexe - Ruby String