[Ruby] Questions et vérification du nombre d'arguments de méthode

Contexte

method1 a b, c

Si, quelle méthode est c un argument?

Dans Ruby, vous n'avez pas besoin de mettre des virgules ou des parenthèses dans les arguments de la méthode. Cependant, dans le cas de ce système, je pense qu'un problème va survenir. Donc, cette fois, je l'ai essayé et vérifié. Je me posais des questions sur les questions suivantes car il n'y avait pas beaucoup d'articles.

Scènes qui semblent avoir des problèmes

Par exemple

method1 a, b

Est

method1(a, b)

Cela signifie (j'ai eu une erreur lorsque j'ai essayé de définir une méthode par la méthode de nom, donc je l'ai définie comme méthode1.).

method1 a b

Est

method1(a(b))

Cela signifie que. C'est bien jusqu'ici (même si c'est déjà un peu étrange à ce stade ... c'est dur pour les débutants ...)

Question ici

method1 a b, c

N'y a-t-il pas deux possibilités?

method1(a(b),c) 

Quand

method1(a(b,c)) 

Les deux possibilités.

Ce que vous devriez vérifier ici est

est. Il vous suffit de le confirmer. (À ce stade, c'est difficile pour le lecteur.) Mais qu'en est-il des arguments de longueur variable? Peut-être que l'un d'eux a la priorité. ..

Maintenant, vérifions lequel des modèles ci-dessus est utilisé.

Vérification

def a *temp
  p "Le nombre d'arguments de a est"
  p temp.size
end

def method1 *temp
  p "Le nombre d'arguments de method1 est"
  p temp.size
end

Le résultat est ,,,

method1 a 1, 2
# "Le nombre d'arguments de a est"
# 2
# "Le nombre d'arguments de method1 est"
# 1

Autrement dit, ce qui précède

method1(a(1, 2))

A été reçu. Il semble que la possibilité 2 ci-dessus ait été adoptée.

Recommended Posts

[Ruby] Questions et vérification du nombre d'arguments de méthode
À propos de la synchronisation des appels et des arguments de la méthode addToBackStack
[Note technique] À propos des avantages et des inconvénients de Ruby
À propos du comportement de ruby Hash # ==
À propos du rôle de la méthode initialize
Méthode pour additionner le nombre d'années et obtenir la fin du mois
À propos du fonctionnement de next () et nextLine ()
À propos du nombre de threads de Completable Future
À propos de la méthode
[Introduction à Ruby] À propos du rôle de true et break in the while statement
Pensez à la combinaison de Servlet et Ajax
[Ruby] Mots clés avec mots clés et valeurs par défaut des arguments
À propos de next () et nextLine () de la classe Scanner
J'ai vérifié le nombre de taxis avec Ruby
Sortie sur la méthode, partie 2
À propos de la méthode de longueur
définition de la méthode ruby
À propos de la méthode cartographique
À propos de la méthode des ancêtres
À propos de la méthode to_s.
[Ruby] J'ai réfléchi à la différence entre each_with_index et each.with_index
Différences entre les classes et les instances dans Ruby
Vérification de la relation entre l'image Docker et le conteneur
[Ruby] Imbrication de classes, héritage et principes de base de soi
Méfiez-vous des appels de méthode Ruby et des références de variables
Trouvez les multiples communs maximum et minimum de n'importe quel nombre d'entiers dans Ruby
Passez un argument à la méthode et recevez le résultat de l'opération comme valeur de retour
À propos de la gestion de Null
À propos de la troncature de String par le nombre d'octets sur Android
La spécification d'autorisation de la méthode FileUtils est un nombre octal.
Sortie sur la méthode Partie 1
À propos de la description de Docker-compose.yml
Commande pour vérifier le nombre et l'état des threads Java
Je veux appeler une méthode et compter le nombre
Une note sur la fonction de départ de Ruby on Rails
Le nième et le n + 1er caractères d'une chaîne Ruby
À propos des hachages et symboles Ruby
À peu près la même et la même valeur
À propos de Ruby, modèle objet
Prise en compte de la méthode des temps
À propos des classes et des instances Ruby
[Java] J'ai réfléchi aux mérites et aux utilisations de "interface"
La première année des nouveaux diplômés a réfléchi à une méthode de mise en œuvre utilisant le TDD (ruby)
Facile à comprendre la différence entre la méthode d'instance Ruby et la méthode de classe.
À propos des bases du développement Android
À propos de Biocontainers fastqc et Java
À propos des méthodes equals () et hashcode ()
À propos des guillemets simples et doubles Ruby