Partagez
Aller en bas
avatar
Az'
Membre

Nombre de messages : 3317
Age : 74
Date d'inscription : 22/12/2007

Post-it Tutorial Ruby II : Les méthodes (Partie 1)

le Ven 11 Juil 2008 - 16:58
Me revoilà, amis makers, je vous ai expliqué la dernière fois ce qu’était une classe, son fonctionnement, etc.
Vous-vous rappelez aussi certainement que j’ai brièvement expliqué ce qu’était une méthode, non ?
Retournez lire le tuto précédent alors, ensuite, vous pourrez passer à celui-ci.



Ah ! Vous êtes prêt ?
Au programme plus de code Wink
Allez, c’est parti !

I° Qu’est-ce qu’une méthode ? Vue rapide des variables

Bon, vous voilà à une autre étape très importante, à suivre aussi attentivement sinon, vous comprendrez moins bien la suite.

Donc, vous vous demandez ce qu’est une méthode n’est-ce pas ?
Je vais vous expliquer après avoir fait un petit récapitulatif :

Je vous avais parlé de Mister D. qui est une instance de la classe Rubymen, tout comme Berka, dont je vous ai parlé aussi.

Comme je vous l’avais expliqué, Mister D. et Berka sont tous deux des objets de type Rubymen (instances de la classe Rubymen), seulement, ils ont chacun des attributs qui leurs sont propres (qui sont d’ailleurs stockés dans des variables)
J’avais donné en exemple le nombre de dents et le nombre de cheveux, et j’avais dit que Mister D. et Berka étaient liés par la classe Rubymen, qui possède une méthode (dont j’ai brièvement expliqué le fonctionnement) du nom de est_cool?.

Berka et Mister D. sont tous deux affectés par la méthode est_cool? (parce qu’ils sont instances de la classe Rubymen), qui renvoie true (vrai) si la variable @nombre de cheveux est supérieure à 0, et false (faux) dans le cas où le nombre de cheveux est égal à 0.

Une méthode appartient à une classe, c’est pour cela qu’il vous faut déclarer dans quelle classe vous travaillez.

Je vous montre comment déclarer une classe :

Code:
class Rubymen # Déclaration que vous travaillez dans cette classe.
[…] # A remplacer par le contenu de la classe.
end # Déclaration que vous ne travaillez plus dans cette classe.

Vous avez vu ce mot « end » ?
Il sert à signaler que l’on a terminé une classe, une méthode, une condition, etc.

A présent que vous savez déclarer une classe, vous allez apprendre à définir une méthode.

Pour commencer, vous devez savoir que pour définir une méthode, vous devrez forcément utiliser le mot-clé def (qui veut d’ailleurs dire définir, dingue non ? …)
Ensuite, s’ensuivent des appels de variables, leur modification, puis bien d’autres choses, celles-ci ne sont là que pour illustrer l’idée globale de l’utilité de la méthode.

II° Définir une méthode

Voici la façon dont vous devrez définir une méthode :

Code:
def est_cool? # def  nom de votre méthode.
    [...] # contenu de votre méthode.
end # end terminant notre méthode.

Maintenant, je vais vous expliquer les différentes manières de les appeler (utiliser) :

Première façon (si dans la même classe) :

Code:
est_cool?

Cette façon consiste à écrire le nom de la méthode pour l’appeler et qu’elle se mette en route, tout simplement.

Deuxième façon (si dans la même classe) :

Code:
self.est_cool?

Code de cette façon revient strictement à coder de l’autre. (self veut dire soi-même, donc, il renvoi l’objet en lui-même mais ce n’est pas important pour le moment…)

Troisième façon (si PAS dans la même classe) :

Code:
rubymen.est_cool?

Ecrire rubymen.est_cool? sans rien ensuite, je vous le dit tout de suite, ça ne sert à rien.
La méthode va soit renvoyer true, soit renvoyer false, et c’est tout, pas autre chose, elle ne modifie en aucun cas les attributs.

C’est pour cela qu’il faut le faire suivre par autre chose, dans mon exemple, une condition :

Code:
if rubymen.est_cool? == true
    [...] # A remplacer par l’effet désiré.
end

rubymen est une variable qui contient un objet de type Rubymen, je précise ça parce que si vous essayez de faire est_cool? , self.est_cool? ou même fenêtre.est_cool? (Fenêtre contenant évidemment un objet de class Window, comme son nom l'indique), cela provoquera une erreur, car la méthode est_cool? n'a été défini QUE dans la classe Rubymen, et n'est donc utilisable que par un objet de cette classe.

Vous suivez toujours j’espère ? x)

Allez, on continue :

III° A quoi servent les méthodes ?

Après avoir vu tout ça, vous devez vous dire que c’est bien beau, mais vous devez vous demander à elles servent ces méthodes, non ?

Je vous répondrais qu’elles servent à gagner en place (l’intérêt, c’est que l’on écrit une seule fois une méthode qui pourra être utilisée des centaines de fois sans réécrire toutes les lignes qui constituent cette méthode), de plus on gagne en lisibilité, et sur beaucoup d'autres points.

Imaginez par exemple que vous pouvez modifier à tout moment la méthode est_cool? sans avoir à modifier le programme principal…
L'important c'est juste que la méthode fasse ce pour quoi elle a été conçue.


C’est fini pour cette partie.
Je vais en dédier une spécialement aux arguments, histoire que tous ceux qui me liront comprennent bien, et que ça rentre dans un seul post xD


Dernière édition par Mist' le Lun 28 Sep 2009 - 14:21, édité 6 fois
Widowan
Widowan
Fondateur
Nombre de messages : 1435
Age : 37
Localisation : France
Distinction : Sergent
Tyran professionnel
Date d'inscription : 15/12/2007
https://www.rpgmakervx-fr.com

Post-it Re: Tutorial Ruby II : Les méthodes (Partie 1)

le Ven 11 Juil 2008 - 17:05
Tutorial Ruby II : Les méthodes (Partie 1) 319323 Merci RubyMan !!! Tutorial Ruby II : Les méthodes (Partie 1) 545134

PS: je crois que je vais ajouter un sou-forum pour les tutos Ruby

_________________
"Si le monde appartiens à ceux qui se lèvent tôt, et si le royaume des cieux est destiné aux simples d'esprit, alors j'essaye juste de squatter un peu..."
avatar
Az'
Membre

Nombre de messages : 3317
Age : 74
Date d'inscription : 22/12/2007

Post-it Re: Tutorial Ruby II : Les méthodes (Partie 1)

le Ven 11 Juil 2008 - 17:11
Je suis pas contre cette section, vu que je vais faire celui sur les arguments, puis un sur les variables puis sur le mots-clés, puis...

M'enfin, l'en reste un bon peu quoi ^^
lafius
lafius
Membre

Nombre de messages : 2
Age : 29
Distinction : aucune
Date d'inscription : 18/10/2009

Post-it Re: Tutorial Ruby II : Les méthodes (Partie 1)

le Jeu 14 Jan 2010 - 19:32
J'ai pas très bien compris...
Berka
Berka
Administrateur

Nombre de messages : 1832
Age : 29
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

Post-it Re: Tutorial Ruby II : Les méthodes (Partie 1)

le Jeu 14 Jan 2010 - 19:34
Il faudrait que tu développes un peu plus... parce que là, on peut pas t'aider.
gizmals
gizmals
Membre

Nombre de messages : 5
Age : 42
Distinction : aucune
Date d'inscription : 28/01/2010

Post-it Re: Tutorial Ruby II : Les méthodes (Partie 1)

le Jeu 28 Jan 2010 - 19:54
J' avoue que le sujet m' intéresse fortement mais ca reste flou .... comment (par exemple) peut-on ressortir une
valeur précise ( en reprenant les modèles d'exemple cités ) concernant chacun de nos 2 rubymen ( admettant que l'on souhaite que les infos que l'on veuille en retenir soit : (1) qu'il soit cool , (2) qu'il possède "X" cheveux, (3) qu'il posséde "Y" dents ) !?
J'espère que je m'exprime bien car je n'ai aucune notion en Ruby mais voyant que des gens supers sympa sont prêt à nous inculquer des notions de ce langage, j'espère pouvoir progresser pour me sentir plus à l'aise avec la manipulation de script !? Tutorial Ruby II : Les méthodes (Partie 1) 418140

Encore merci de rédiger tout ces tutos car le sujet me captive totalement Smile
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum