Interpolation de la chaîne Ruby

Interpolation de la chaîne Ruby
L'interpolation de chaîne fait référence au processus d'ajout d'espaces réservés qui font référence à d'autres valeurs dans un objet String. Les valeurs interpolées dans une chaîne sont évaluées à leurs valeurs correspondantes. L'interpolation des cordes peut être considérée comme une forme d'injection de modèle.

Dans ce guide, nous discuterons de la façon d'interpoler les chaînes dans le langage de programmation Ruby.

Utilisation de l'opérateur +

Le moyen le plus simple d'interpoler les valeurs dans une chaîne littérale est d'utiliser l'opérateur d'addition. Considérez l'exemple ci-dessous:

name = "Alice"
met "bonjour" + nom

Dans l'exemple ci-dessus, nous déclarons une variable appelée nom. Il détient la valeur «Alice». En utilisant l'opérateur d'addition, nous l'interpola en valeur de chaîne.

L'interprète Ruby va récupérer la valeur référencée par le nom de la variable et l'utiliser comme valeur réelle. La sortie résultante est comme indiqué:

$ interpolation Ruby.RB
Bonjour Alice

L'opérateur d'addition contient un inconvénient lors de l'interpolation des variables en une chaîne. Cela ne fonctionne qu'avec des objets de chaînes.

Prenez l'exemple ci-dessous:

Âge = 10
Met "Je suis" + âge + "ans"

Si vous essayez d'exécuter une telle opération, Ruby renvoie une SypeError

'+': pas de conversion implicite de néant dans String (TypeError)

Une façon de résoudre un tel problème est de convertir la variable en une chaîne en utilisant la méthode TO_S.

Par exemple:

Âge = 10
met ("je suis" + âge.à_s + "ans")

Maintenant, nous pouvons injecter la variable entière dans la chaîne en la jetant sous forme de chaîne.

En utilisant le << Operator

L'opérateur de changement de gauche fonctionne de manière similaire à l'opérateur d'addition. Il injecte la variable passée dans une corde littérale.

Exemple:

lang = "Ruby"
met Lang << " is an fun!"

Semblable à l'opérateur d'addition, vous devez convertir la variable en une chaîne pour empêcher TypeErrors.

En utilisant #

Les deux méthodes dont nous avons discuté ci-dessus détiennent un seul inconvénient; il devient compliqué pour effectuer une expression à l'intérieur d'une chaîne littérale.

Jetez un œil à l'exemple ci-dessous:

rayon = 7.43
Pose "la zone du Cirlcle de Radius" + Radius.à_s + "est" + rayon * rayon * 3.141 + "CM2"

L'opération ci-dessus n'est pas possible en utilisant les méthodes dont nous avons discuté ci-dessus.

Pour résoudre ce problème, nous pouvons utiliser l'opérateur de substitution d'expression dans Ruby:

La syntaxe est comme:

#variable

Nous mettons la variable ou l'expression à l'intérieur de la paire de bretelles bouclées. Ruby évaluera l'expression et l'interpoler à la chaîne.

Considérez l'exemple précédent en utilisant l'opérateur d'interpolation.

rayon = 7.43
place "La zone du Cirlcle de RADIUS # RADIUS est # RADIUS * RADIUS * 3.141 cm2 "

C'est beaucoup mieux. En utilisant la notation ci-dessus, nous pouvons injecter une seule variable et des expressions de rubis valides à l'intérieur d'une chaîne.

Vous trouverez ci-dessous la sortie résultante:

$ substring ruby.RB
La zone du Cirlcle de Radius 7.43 est 173.3985909 CM2

Dans ce cas, nous n'avons pas à effectuer l'expression, à le convertir en une chaîne, puis à l'interpoler en chaîne.

En utilisant cette méthode, Ruby s'occupera de tout.

Conclusion

Ce guide a illustré comment travailler avec l'interpolation de la chaîne dans le langage Ruby en utilisant des fonctionnalités telles que l'opérateur d'addition, le décalage de gauche et l'opérateur de substitution d'expression.