Je veux sortir "Mr. Yuki" ...
1 def rename(name)
2 name = "Mr.#{name}"
3 end
4
5 name = "Yuki"
6 rename(name)
7 puts name
Yuki
Dans cette syntaxe, la sortie sera "Yuki" sans Mr ..
1 def rname (name) # Nom de variable reçu par renommer le nom de la méthode 2 name = "Mr. # {name}" # Nom de variable reçu par renommer le nom de la méthode 3 end
Une copie de la valeur passée en argument est affectée à la variable de méthode.
>~~~
5 name = "Yuki" #Ce nom est tout le nom de l'argument
6 rename(name)
7 puts name
>~~~
En bref, le nom de l'argument et le nom de la variable ont le même nom mais sont différents.
Explication étape par étape.
- Cinquième ligne: La chaîne de caractères "Yuki" est affectée à l'argument "nom".
--Line 6: Appelez la méthode renommer avec ce `nom` comme argument
À ce stade, la valeur contenue dans «nom» est copiée.
- Première ligne: Le "Yuki" copié est assigné à la variable "nom" de la méthode renommée.
Par conséquent, l'argument «nom» et le «nom de la variable» utilisés dans la méthode ont la même valeur, et la valeur peut être transmise à la méthode.
--Deuxième ligne: Cependant, changer la valeur de la variable `nom` n'affecte pas l'argument` nom` car l'argument` nom` est différent.
## Alors, comment obtenez-vous les résultats que vous attendez?
Explication détaillée.
>~~~
1 def rename(name)
2 name = "Mr.#{name}"
3 end
>~~~
--Deuxième ligne: Dans la méthode `rename`, la chaîne de caractères avec M. ajouté au` nom` reçu de l'argument est renvoyée comme valeur de retour à l'appelant de la méthode.
>~~~
6 name = rename(name)
>~~~
--Avant la modification, vous venez d'appeler `renommer (nom)` et la méthode `renommer`, mais cette fois, vous attribuez` nom = renommer (nom) ʻet la valeur de retour de la méthode à` nom`.
1 def rename(name)
2 name = "Mr. # {name}" # ③ En réponse au résultat de la 5ème ligne, "Mr.Yuki" est assigné à name
sur le côté gauche.
3 end
4
5 name = "Yuki" # ① Lisez la formule avec un "=" du côté droit. Attribuez "Yuki" au nom de la variable
6 nom = renommer (nom) # ② renommer est la méthode sur la première ligne. Attribuez la réponse de cette méthode et la valeur de l'argument (nom) (* défini à la 5ème ligne) au nom de la variable sur le côté gauche.
7 met name # ④ La valeur de retour est sortie par put
Mr.Yuki
Maintenant, la valeur de `nom` devient une chaîne avec M. ajouté par la méthode` renommer`.
## à la fin
C'est vraiment difficile à comprendre ici.
Beaucoup de noms sortent. Je ne pouvais pas comprendre cela comme une chose différente.
J'ai numéroté les processus et les ai montrés dans l'ordre, et certains sont entrés.
Il semble qu'une révision soit nécessaire ici.
Recommended Posts