J'ai une variable de chaîne dans la fonction d'appel et je souhaite ajouter à la valeur renvoyée par la fonction appelée à la variable de chaîne dans la fonction d'appel. Tout en débogage, je vois que chaque fois que je fais une opération de concessive sur la chaîne, il crée une nouvelle instance et la valeur n'est donc pas mise à jour. Y a-t-il une autre façon d'atteindre la même chose? P>
3 Réponses :
Tous Elixir Les données sont immuables. Vous pouvez modifier / mettre à jour littéralement rien em>. Vous pouvez reculer la variable, cependant. P> a = "foo"
a = a <> "-bar"
#â "foo-bar"
Lorsque vous faites une concision et l'affectation à A code> ne mettons-t-il pas à jour la valeur de la variable A?
Non, nous recetons la variable à la nouvelle valeur. Mise à jour i> signifie qu'il s'agit de la même variable, comme a = [], un <<: foo code> dans Ruby .
Mettez à jour la question s'il vous plaît, ne jetez pas le code ici dans les commentaires.
Exemple:
On dirait que vous faites la concessive dans la fonction, comme ceci: et l'utiliser comme ceci: p> Vous devez soit attribuer le résultat à votre chaîne d'origine: p> ou renvoyer la pièce à concaténée et faire la concaténation en dehors de la fonction: p> < Pré> xxx pré> p>