[RUBY] [Pour les débutants en programmation] Qu'est-ce qu'une méthode?

introduction

Ceux qui ont récemment commencé la programmation, en particulier ceux qui sont enthousiastes à propos de «Je vais le faire moi-même!» Sans aller à l'école!

Oui. J'étais le même. Et c'est la même chose là où je travaille sur Ruby sans raison ni pensée. Ami!

Mais ...

Je ne comprends pas ce que je ne comprends pas

C'est vrai. Écrivez le code! Je ne sais pas quoi écrire! Eh bien, je pense que c'est normal.

Parfois, il y a des mutants (génies) qui ouvrent les yeux et écrivent même des métapros dans environ six mois, mais il vaut mieux ne pas s'en inquiéter. La plupart de ces personnes sont gentilles et douées pour enseigner, alors enseignons-leur de différentes manières.

Sujet principal

Non limité à Ruby, mais où les débutants en programmation trébuchent souvent ou ont du mal à comprendre

Méthode, ʻargument`

N'est-ce pas? J'étais.

Écrivez votre propre méthode

Je n'ai pas compris le sens de cela. Oh nostalgique et frustrant.

Il m'a fallu un certain temps pour trouver une façon de penser qui correspond à mes besoins. (Je me suis mis en pratique très rapidement, donc j'ai eu une idée. Je ne recommande pas d'étudier pendant longtemps.)

Il y a aussi des «méthodes d'instance» et des «méthodes de classe» dans les méthodes, et je n'ai aucune idée de comment ou où les utiliser! C'était comme ça.

Je voudrais donc vous donner ma propre interprétation ici!

Interprétation de la méthode

Ouvrons un terminal et démarrons ʻirb`. Essayez de saisir ce qui suit:

irb


hoge = 'hoge est hoge hoge'

Exécutez ensuite le code suivant.

irb


hoge.length

Vous êtes un génie avec un résultat de 9. Génial.

Oui. La «longueur» à ce moment est la méthode.

e? Sais-tu cela? Comme prévu. Vous n'êtes plus un débutant.

Le suivant est ici

irb


class User
  def name
    'hoge'
  end
end

Exécutez ensuite le code suivant.

irb


user = User.new
user.name

Vous êtes un génie avec le résultat "hoge" `. Génial. Oui. Le «nom» à ce moment est la méthode.

d'accord! Vous passez déjà à l'étape suivante. Vous n'aurez pas à continuer à lire cet article.

Hmm? Si vous pensez que oui, veuillez le lire un peu plus.

Ce que je viens de faire Méthode de longueur de Classe de chaîne ʻLa méthode de nom de la classe User ` Il y en a deux.

Veuillez vous référer à l'URL suivante pour la «méthode de longueur». String # length (Manuel de référence de Ruby 2.7.0)

La méthode length de la classe String est pré-intégrée dans Ruby. Renvoie la longueur des caractères de l'objet.

La méthode name de la ʻUser class` est celle que vous avez créée cette fois. Le contenu peut être hoge ou fuga.

Ces deux méthodes sont des «méthodes d'instance». Utilisez-le en le collant à chaque instance de classe.

Vous pouvez créer une instance de la classe Hoge avec Hoge.new.

La méthode utilisée en attachant directement à ʻUser ou Hogeest appeléeméthode de classe`. C'est la seule différence.

Écrivez votre propre méthode

Au début, j'ai mal compris que c'était très difficile. Mais si vous comprenez le concept, vous pouvez l'utiliser très facilement. Cette fois, j'ai écrit «nom» et le contenu n'était que superflu, mais en écrivant divers processus ensemble, vous pouvez l'exécuter en appuyant sur cette méthode d'un seul coup.

Par exemple (utilisons l'argument cette fois)

irb


class Number
  def check(a, b)
    if a == 2
      a * b
    elsif a == b
      a / b
    else
      a + b
    end
  end
end

Maintenant, exécutons la méthode de vérification de la classe Number.

irb


num = Number.new
num.check(1, 2)
num.check(2, 2)
num.check(3, 3)

C'est une méthode dont la formule de calcul change en fonction de l'argument. Je pense que c'est une bonne idée d'écrire et d'exécuter plusieurs simples en utilisant ʻirb`. Vous êtes-vous senti à l'aise avec les arguments maintenant?

La méthode de classe est la meilleure de toutes, et est très utile lors du traitement par lots. Juste un coup! C'est comme ça.

Qu'est-ce que le traitement par lots? Si vous pensez, ici

En bref, c'est un mécanisme pour exécuter le traitement accumulé derrière le système.

finalement

Je ne sais pas après avoir lu jusqu'ici! Ceux qui disent. Je suis vraiment désolé. C'est la confusion de cet article. J'étudierai pour pouvoir écrire plus clairement.

Au fait, même si vous ne savez pas grand-chose sur la méthode pour le moment, ce n'est pas grave si vous pouvez utiliser ʻirbou lalength` qui est sortie plus tôt sur la console. Je le comprendrai bientôt. Lorsque vous le découvrirez ou que vous vous familiariserez avec, veuillez enseigner aux débutants à ce moment-là.

Merci d'avoir lu jusqu'au bout.

Recommended Posts

[Pour les débutants en programmation] Qu'est-ce qu'une méthode?
Qu'est-ce qu'un extrait de code en programmation?
Méthode d'apprentissage recommandée pour les débutants en programmation
[Pour les super super débutants] Qu'est-ce que l'orientation objet?
Qu'est-ce qu'un constructeur
Qu'est-ce qu'un flux
Qu'est-ce qu'un servlet?
Qu'est-ce qu'une classe wrapper?
Qu'est-ce qu'un type booléen?
Qu'est-ce qu'un module Ruby?
Qu'est-ce qu'une virgule flottante?
Quelle est la méthode pluck?
Qu'est-ce qu'un commentaire significatif?
Qu'est-ce qu'un fichier JAR?
Qu'est-ce qu'une collection Java?
Qu'est-ce qu'une expression lambda?
[Ruby] À quoi sert «!!»?
A quoi sert le constructeur?
Qu'est-ce que Fat⁉ enum?
Quelle est la méthode d'initialisation?
Enfin, créez une méthode pour savoir s'il y a un caractère
Qu'est-ce qu'un type booléen de colonne?
Qu'est-ce qu'une variable de type référence?
Qu'est-ce qu'une expression lambda (Java)
Quel type de méthode est define_method?
Qu'est-ce qu'un tableau bidimensionnel Ruby?
[Pour les débutants] Vous comprendrez certainement en 10 minutes! Que sont les Java Beans?
[Pour les débutants] On dit que le rubis est rubis, mais qu'en est-il?
Qu'est-ce qu'une classe en langage Java (3 /?)
Qu'est-ce qu'un terminal? -Chemin absolu et chemin relatif-
Qu'est-ce qu'un fichier .original Spring Boot?
Mémorandum des débutants en développement d'applications Android
Apprenez de «Et alors», les bases de Java [pour les débutants]
Qu'est-ce qu'une classe en langage Java (1 /?)
Qu'est-ce qu'une classe en langage Java (2 /?)
J'ai fait une méthode pour le vendredi premium avec une doublure
Quelle est la méthode principale en Java?
À quoi sert le modèle de façade?
[Rails] Qu'est-ce qu'un point (.) Ou un deux-points (:)?
Une méthode simple et pratique pour HashMap
Ce que je pense maintenant, c'est qu'une personne inexpérimentée étudie la programmation pour la première fois depuis un mois.
Qu'est-ce que Cubby
Qu'est-ce qui est nul? ]
Résumé des fonctionnalités simples de Bootstrap pour les débutants
Qu'est-ce que 'java
Introduction aux fonctions récursives: qu'est-ce qu'une fonction récursive?
Qu'est-ce que Keycloak
Qu'est-ce que maven?
Qu'est-ce que soi
Qu'est-ce que Jenkins
Qu'est-ce que ArgumentMatcher?
Qu'est-ce que IM-Juggling?