[RUBY] Passez un argument à la méthode et recevez le résultat de l'opération comme valeur de retour

Je ne comprends pas l'argument

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

Passez un argument à la méthode et recevez le résultat de l'opération comme valeur de retour
Un moyen pour les développeurs Java / Scala de faire progresser leur carrière en tant qu'ingénieurs de données.
Passez un argument à la méthode et recevez le résultat de l'opération comme valeur de retour
Élément 47: Préférez la collecte au flux comme type de retour
Extrait la valeur de HashMap et renvoie le résultat trié par valeur de valeur sous forme de liste.
Je veux passer l'argument d'Annotation et l'argument de la méthode d'appel à aspect
Méthode à décrire en divisant en plusieurs méthodes Comment passer des arguments Comment utiliser la valeur de retour Surcharge de méthode Passer par valeur et passer par référence
Afficher la valeur moyenne de l'évaluation sous forme d'étoile
Je veux trouver la somme de contrôle MD5 d'un fichier en Java et obtenir le résultat sous forme de chaîne de caractères en notation hexadécimale.
[Ruby] Questions et vérification du nombre d'arguments de méthode
Je veux appeler une méthode et compter le nombre
Comment spécifier un tableau pour la valeur de retour / l'argument d'une méthode dans le fichier IDL CORBA
J'ai essayé d'exprimer les résultats avant et après de la classe Date avec une ligne droite numérique
[Rails] Parlez de prêter attention à la valeur de retour de l'endroit
Méthode pour additionner le nombre d'années et obtenir la fin du mois
[Rails] Lire le RSS du site et renvoyer le contenu au premier plan
[Swift5] Comment communiquer de ViewController à Model et transmettre une valeur
[Java] Cela peut être heureux si la valeur de retour de la méthode qui retourne null est facultative <>
Comment faire fonctionner IGV en utilisant la communication par socket, et l'histoire de la création d'un Ruby Gem en utilisant cette méthode
Déclarez une méthode qui a une valeur de retour Java avec le type de données de valeur de retour
Comment renvoyer une valeur du modèle au contrôleur en utilisant le protocole [Swift5]
L'histoire de l'oubli de fermer un fichier en Java et de l'échec
[Ruby] Que se passe-t-il si le self de la méthode est utilisé comme valeur de retour?
Le contenu de la valeur de retour de executeBatch est différent entre 11g et 12c
[Ruby] Je souhaite extraire uniquement la valeur du hachage et uniquement la clé
Comment changer la valeur d'une variable à un point d'arrêt dans intelliJ
Comment passer la valeur à un autre écran
Utilisez la méthode where pour affiner en vous référant à la valeur d'un autre modèle.
Trouvez une valeur pratique pour avoir une méthode et en faire un ValueObject
Comment convertir une valeur d'un type différent et l'affecter à une autre variable
Créez un formateur personnalisé pour Yellowfin et affichez le moins de la valeur numérique avec △ (triangle)
Je veux obtenir récursivement la superclasse et l'interface d'une certaine classe
[JDBC ③] J'ai essayé d'entrer à partir de la méthode principale en utilisant des espaces réservés et des arguments.
Faire une marge à gauche du TextField
Définir l'heure de LocalDateTime à une heure spécifique
Sortie de la façon d'utiliser la méthode slice
passer deux arguments à l'URI avec link_to
À propos de la synchronisation des appels et des arguments de la méthode addToBackStack
Comment afficher le résultat du remplissage du formulaire
Passer les conditions utilisées dans le filtre d'expression lambda Java8 () comme paramètres
Comment trouver la valeur totale, la valeur moyenne, etc. d'un tableau à deux dimensions (tableau multidimensionnel) -java
Arguments avec des valeurs par défaut Prenez la méthode full_title du tutoriel Rails comme exemple
[Jackson] Une histoire sur la conversion de la valeur de retour du type BigDecimal avec un sérialiseur personnalisé.
Lors de l'insertion de Java vers MySQL, obtenez Auto_Increment_ID (valeur de numérotation automatique) comme valeur de retour
[Explication approximative] Comment séparer le fonctionnement de l'environnement de production et de l'environnement de développement avec Rails
Exemple de code pour attribuer une valeur dans le fichier de propriétés à un champ du type attendu
Une méthode qui applique des transformations en parallèle à tous les éléments et renvoie un tableau de valeurs de retour qui conservent leur ordre
Comment exécuter l'application SpringBoot en tant que service
Je veux appeler une méthode d'une autre classe
Comment revenir à l'écran précédent par opération Swipe
Élément 47: Préférez la collecte au flux comme type de retour
Convertit le tableau d'erreurs.full_messages en caractères et sortie
Liez la demande à n'importe quelle classe et recevez-la
[Java] Comment obtenir la valeur maximale de HashMap
Je veux retourner la position de défilement de UITableView!