AccueilSiteFAQRechercherS’enregistrerConnexion
Poster un nouveau sujet   Répondre au sujet
 

Ruby, acte I, scène 2 : les principales classes de base.

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Pipo
Acolyte
Acolyte



Inscrit le : 17 Aoû 2007
Messages : 81

MessageSujet: Ruby, acte I, scène 2 : les principales classes de base.   16/12/2007, 20:27

En I,1* , nous avons survolé les concepts d'objet et de variable**. Nous allons maintenant introduire les quatre classes principales du ruby. Mais...

Qu'est-ce qu'une classe???

Bon, là je vais aller vraiment vite. Une classe, c'est une type, une classe d'objets (sans rire?). D'ailleurs, au début de tous les scripts RM, vous verrez au début:
Code:
class Truc_Muche

En gros, ça veut dire que tout le code en-dessous définit la classe Truc_Muche. Bon, là on en est encore à l'acte I, donc pas de syntaxe, on a dit, mais je précise quand même qu'une classe doit toujours commencer par une majuscule, parce que ça fait plus classe (oui, je sais, c'est nul, et je compatis à votre souffrance Sad )
On dit qu'une voiture (objet) est une instance de la classe voiture. Rappelez-vous bien de ce mot, il est important : je me permets de l'affirmer avec insistance.

Donc, qu'est-ce que je disais, déjà... Ah oui, les principales classes. Je sais pas si vous avez remarqué, mais dans l'exemple de la dernière fois:
Code:
$scene = Scene_Map.new

je vous avais expliqué que l'on mettait un nouvel objet Scene_Map (donc une instance de la classe Scene_Map) dans la variable $scene. Mais... dans $gyudfqsg = 5, il n'y a rien de tout ça, et pourtant vous savez que 5 est aussi un objet? C'est grave, docteur?
Non, c'est tout à fait normal. Car, en ruby, il existe...

quatre classes privilégiées

(Maiiiiiiiieeeeeeeeeuh, c'était pas sensé être un titre, ça, j'étais vraiment en train d'hésiter T_T )
Donc, ces quatres classes sont les classes Numeric, String, Array et Hash. Allez, on s'organise avec un beau plan avec des sous-parties et tout et tout:

I/Les chiffres : classe Numeric

Cette classe, qui définit les chiffres, est en fait divisées en deux sous-classes (comme des sous-parties mais pour des classes) : la classe des entiers (Integer pour les intimes) et la classe des nombres décimaux (Float pour les deux-times).
Bon, c'est des chiffres, c'est tout bête, pas besoin de trois-cent-milles explications. Pour utiliser un nombre entier, il vous suffit de l'écrire, genre "réponse = 42" (celle-là est est plus subtile, il faut être un minimum culturé pour la comprendre). Et pour avoir un nombre décimal, vous faites "réponse = 42.0". Attention, il faut mettre un point et non une virgule. La différence entre 42 et 42.0? c'est simple, si vous faites 42/11, vous aurez 3, alors que si vous faites 42.0/11, vous aurez 3.81818181818182.
Bah oui, Ruby, c'est une grosse feignasse. Si tu lui donnes un entier à la base, il va te sortir un entier à l'arrivée. Et le pire, c'est qu'il sait faire des arrondis (regardez le dernier chiffre de 3.818...), mais là il se prend pas la tête, il prend que les chiffres avant la virgule. Et oui, c'est bête, mais j'en connait qui se sont arrachés la tête à cause d'un script qui ne marchait pas à cause*** de ça (car je me connait... Et accessoirement, je connait mon ennemi).

Je crois que c'est tout pour la présentation... Bien sûr, il y a beaucoup plus de choses à dire sur cette classe, mais ça sort du cadre de l'acte I :?

II/Les chaînes de caractère : la classe String

Désolé de vous décevoir, mais je suis un être civilisaturé, un vrai gentleman, et je ne ferais aucune blague sur le nom de cette classe. Donc, cette classe est celle des chaînes de caractères, c'est-à-dire du texte. Pour définir du texte, il y a plein de syntaxes, mais le plus simple reste de l'écrire entre guillemets comme ceci:
"léopard"
ou ceci:
'léopard'
Y'a bien une subtile différence entre les deux (je crois), mais on s'en fiche un peu dans le cadre de RM (d'ailleurs je ne saurais même plus dire laquelle...)
Idem, plein de choses à dire sur cette classe, mais pas maintenant.

III/Les tableaux : la classe Array

Cette classe définit les tableaux de valeurs. Qu'est-ce qu'un tableau? Un tableau est une structure de données rassemblant différentes valeurs (ou objets) dans une seule variable. Ainsi, en faisant:
$bus = [42,"léopard", 6]
on obtient un tableau contenant trois valeurs, pouvant être de différents types. (D'ailleurs, on peux très bien faire:
$bus = [42, "léopard", $scene]
Mais ceci sera mieux développpé dans un prochain chapitre)

Maintenant, on a un tableau de valeurs. Comment lire les valeurs contenues dedans?
Comme ceci :
$bus[1]
Ce qui permet d'obtenir la valeur placée à la... deuxième place. Eh oui, MR. Ruby, en plus d'être une grosse feignasse, il est pas très très logique dedans sa tête. En fait, $bus[0] renvoie la première valeur, $bus[1] la seconde, $bus[2] la troisième et ainsi va la vie...
Je vais vous épargner l'habituel "y'a plein d'autres trucs à dire mais patati et patata...". En fait, non :
Bien sûr, il y a beaucoup plus de choses à dire sur cette classe, mais ça sort du cadre de l'acte I.
IV/Les listes : la classe Hash

La classe Hash, c'est el côté obscur du tableau, le sabre laser du bûcheron. En gros, ça marche un peu comme la classe Array, mais pour définir une liste il faut faire:
$bucheron = {1=> "je suis canadien", "tu es canadien?" => "oui"}
Ainsi:
$bucheron[1] renvoie "je suis canadien"
et:
$bucheron["tu es canadien?"] renvoie "oui".

Lorsque l'on doit non pas ranger plusieurs valeurs/objets en liste, mais associer un objet à une autre objet (en l'occurence, "tu es canadien?" et "oui"), une liste est plus appropriée qu'un tableau. Notez bien que pour créer une liste, il faut utiliser des {} et pas des [], et que pour associer deux valeurs on utilise une flèche => , pour dire "renvoie", tout bêtement!

CONCLUSION

La flemme, j'vais bouffer.

*Eh oui, on a fait un cours sur le théâtre et maintenant j'me la pète avec mes abréviations
**Bah ouais, vous avez un âge à deux chiffres maintenant, donc on arrête avec les vases magiques et on dit "variable" comme les grands, non mais!
***WOW, quelle faute de style, deux fois de suite à cause
Revenir en haut Aller en bas

Ruby, acte I, scène 2 : les principales classes de base.

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Zenith RPG :: Entraide :: Tutoriaux divers-
Poster un nouveau sujet   Répondre au sujet