AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  



Le deal à ne pas rater :
Code promo Nike : -25% dès 50€ d’achats sur tout le site Nike
Voir le deal

Partagez
 

 Cours #4 : Modules, case when, retours et fin de la théorie

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1, 2
AuteurMessage
La Meche
Flibustier Lv.21
Flibustier Lv.21
La Meche


Masculin Age : 30
Inscrit le : 24/05/2008
Messages : 3234

Cours #4 : Modules, case when, retours et fin de la théorie - Page 2 Empty
MessageSujet: Re: Cours #4 : Modules, case when, retours et fin de la théorie   Cours #4 : Modules, case when, retours et fin de la théorie - Page 2 Icon_minitimeMer 8 Avr 2009 - 17:40

Moi aussi j'ai une petite question Embarassed
Comment fonctionne les
Code:
attr_reader:
etc...
Car je ne voit pas l'utilité, ni comment en créer (même en lisant le cour je capte pas...), ni comment on peut lire, editer, faire les deux, si les appeler (genre Game_Party::gold sa marche pas !)
Bref, aider moi sur c'est fichu variable @ de module !
Revenir en haut Aller en bas
yamazaki
Illusionniste Lv.12
Illusionniste Lv.12
avatar


Masculin Age : 34
Inscrit le : 27/12/2008
Messages : 757

Cours #4 : Modules, case when, retours et fin de la théorie - Page 2 Empty
MessageSujet: Re: Cours #4 : Modules, case when, retours et fin de la théorie   Cours #4 : Modules, case when, retours et fin de la théorie - Page 2 Icon_minitimeMer 8 Avr 2009 - 18:45

quand tu as une variable @var
dans ta classe, attr_reader te permet uniquement de lire
la valeur de cette valeur dans la classe. tu ne peux pas la modifier
en dehors de cette classe.
On l'appelle en mettant au dessus de la première méthode
attr_reader :var

Mais dans le module j'ai remarqué que tu ne pouvais l'utiliser
que si tu y crée une classe et que tu l'instancie avec un .new
dans cette classe.
Revenir en haut Aller en bas
http://mods-jeu-rpg.forumactif.org
berka
Maire Lv.9
Maire Lv.9
berka


Masculin Age : 34
Inscrit le : 15/10/2008
Messages : 351

Cours #4 : Modules, case when, retours et fin de la théorie - Page 2 Empty
MessageSujet: Re: Cours #4 : Modules, case when, retours et fin de la théorie   Cours #4 : Modules, case when, retours et fin de la théorie - Page 2 Icon_minitimeMer 8 Avr 2009 - 19:47

en gros, pour compléter ce que dit yamazaki:

tu as plusieurs sortes de methodes:
celles qui lisent, celles qui ecrivent:

Code:
class Test
  def initialize
      @variable = 12
  end
  def variable # on lit @variable par appel de cette def
      return @variable
  end
end
Code:
class Test
  def initialize
      @variable = 12
  end
  def variable(a) # on ecrit @variable par appel de cette def
      @variable=a
  end
end

les accesseurs font pareils, c'est une sorte de raccourci:
on définit une variable d'instance (@variable) puis on la passe en accesseur, hors méthode, par exemple, juste apres "class Test"
Code:
attr_accessor :variable  #la variable est modifiable et lisible depuis l'instanciation de la classe
$test.variable = 10 #ok
p $test.variable # ok
Code:
attr_writer :variable  #la variable est modifiable seulement depuis l'instanciation de la classe
$test.variable = 10 # ok
p $test.variable # erreur
Code:
attr_reader :variable  #la variable est lisible seulement depuis l'instanciation de la classe
$test.variable = 10 # erreur
p $test.variable # ok

berka
Revenir en haut Aller en bas
http://rpgruby.olympe-network.com
MirainoHikari
Ex-Admin-Script
Ex-Admin-Script
MirainoHikari


Masculin Age : 42
Inscrit le : 26/05/2008
Messages : 2360

Cours #4 : Modules, case when, retours et fin de la théorie - Page 2 Empty
MessageSujet: Re: Cours #4 : Modules, case when, retours et fin de la théorie   Cours #4 : Modules, case when, retours et fin de la théorie - Page 2 Icon_minitimeJeu 9 Avr 2009 - 14:41

Désolé, la confusion viens d'une erreur qui s'est glisser dans le cours. En fait, les "accesseurs" attr_* n'existe que pour les classes avec un initialize. À l'intérieur des modules comme l'un des exemples le montrait, ça ne se peut pas, ça ne fonctionne pas. Désolé de cette petite erreur d'inatention. Comme berka l'a bien expliqué (merci berka. Toujours là au bon moment Wink ), ça évite d'avoir à écrire manuellement les deux méthodes d'accès à la variable. Ça fonctionne aussi bien que si vous le faites manuellement, mais pourquoi écrire 6 lignes de code quand une seul fait tout le travail?

NB: J'ai corrigé le cours. Je m'excuse encore d'en avoir induit certains en erreur.
Revenir en haut Aller en bas
http://mirainohikari.deviantart.com
La Meche
Flibustier Lv.21
Flibustier Lv.21
La Meche


Masculin Age : 30
Inscrit le : 24/05/2008
Messages : 3234

Cours #4 : Modules, case when, retours et fin de la théorie - Page 2 Empty
MessageSujet: Re: Cours #4 : Modules, case when, retours et fin de la théorie   Cours #4 : Modules, case when, retours et fin de la théorie - Page 2 Icon_minitimeJeu 9 Avr 2009 - 15:11

Eh...
Je comprends toujours pas...
Code:
class Test
  def initialize
    @var = 12
  end
  def var # on ecrit @variable par appel de cette def
    return @var
  end
  attr_accessor :var
  $test.var = 11
  p $test.var
end
Erreur
Code:
class Test
  def initialize
      @variable = 12
  end
  def variable # on lit @variable par appel de cette def
      return @variable
  end
end
attr_accessor :variable  #la variable est modifiable et lisible depuis l'instanciation de la classe
$test.variable = 10 #ok
p $test.variable # ok
Erreur
Tous des "inderfined methode"
Revenir en haut Aller en bas
MirainoHikari
Ex-Admin-Script
Ex-Admin-Script
MirainoHikari


Masculin Age : 42
Inscrit le : 26/05/2008
Messages : 2360

Cours #4 : Modules, case when, retours et fin de la théorie - Page 2 Empty
MessageSujet: Re: Cours #4 : Modules, case when, retours et fin de la théorie   Cours #4 : Modules, case when, retours et fin de la théorie - Page 2 Icon_minitimeJeu 9 Avr 2009 - 16:01

Premièrement, tes attr doivent être AU DÉBUT de ta classe, sinon tes variables n'existent pas, c'est pour ça qu'il te fout une erreur. Deuxièmement, il n'y a pas de deuxièmement. Il faut que tu penses que Ruby est un langage interprété ligne par ligne, donc l'ordre des chose est TRÈS importante.


Dernière édition par MirainoHikari le Jeu 9 Avr 2009 - 16:02, édité 1 fois
Revenir en haut Aller en bas
http://mirainohikari.deviantart.com
berka
Maire Lv.9
Maire Lv.9
berka


Masculin Age : 34
Inscrit le : 15/10/2008
Messages : 351

Cours #4 : Modules, case when, retours et fin de la théorie - Page 2 Empty
MessageSujet: Re: Cours #4 : Modules, case when, retours et fin de la théorie   Cours #4 : Modules, case when, retours et fin de la théorie - Page 2 Icon_minitimeJeu 9 Avr 2009 - 16:02

il faut que tu inseres l'accesseur dans la classe, mais hors méthode.
et j'espere que tu as au préalable instancié Test:
$test = Test.new

berka

Ps: Miraino: elles peuvent etre partout dans la classe, ca marche aussi bien !
Revenir en haut Aller en bas
http://rpgruby.olympe-network.com
La Meche
Flibustier Lv.21
Flibustier Lv.21
La Meche


Masculin Age : 30
Inscrit le : 24/05/2008
Messages : 3234

Cours #4 : Modules, case when, retours et fin de la théorie - Page 2 Empty
MessageSujet: Re: Cours #4 : Modules, case when, retours et fin de la théorie   Cours #4 : Modules, case when, retours et fin de la théorie - Page 2 Icon_minitimeJeu 9 Avr 2009 - 16:52

Ah sa y est j'ai compris !
Même si je vois pas trop l'interêt...
Enfin merci à vous trois de votre aide !
Revenir en haut Aller en bas
Gothor
Chevalier Lv.17
Chevalier Lv.17
Gothor


Masculin Age : 31
Inscrit le : 27/04/2008
Messages : 1835

Cours #4 : Modules, case when, retours et fin de la théorie - Page 2 Empty
MessageSujet: Re: Cours #4 : Modules, case when, retours et fin de la théorie   Cours #4 : Modules, case when, retours et fin de la théorie - Page 2 Icon_minitimeLun 1 Mar 2010 - 16:55

Bonjour, je voulais savoir ce que l'on devait mettre dans les accolades à la place de |matched| dans:

gsub!(pattern) {|matched| .... }

Je crois que le pattern doit être une expression régulière, mais je ne comprends pas à quoi servent les accolades et leur contenu =/
Revenir en haut Aller en bas
La Meche
Flibustier Lv.21
Flibustier Lv.21
La Meche


Masculin Age : 30
Inscrit le : 24/05/2008
Messages : 3234

Cours #4 : Modules, case when, retours et fin de la théorie - Page 2 Empty
MessageSujet: Re: Cours #4 : Modules, case when, retours et fin de la théorie   Cours #4 : Modules, case when, retours et fin de la théorie - Page 2 Icon_minitimeLun 1 Mar 2010 - 17:10

Code:
p "abcde".gsub!("b") {"p"} => apcde
Le truc entre les {} va remplacer le machin entre ()
Revenir en haut Aller en bas
Gothor
Chevalier Lv.17
Chevalier Lv.17
Gothor


Masculin Age : 31
Inscrit le : 27/04/2008
Messages : 1835

Cours #4 : Modules, case when, retours et fin de la théorie - Page 2 Empty
MessageSujet: Re: Cours #4 : Modules, case when, retours et fin de la théorie   Cours #4 : Modules, case when, retours et fin de la théorie - Page 2 Icon_minitimeLun 1 Mar 2010 - 17:18

Oh, merci beaucoup La Mèche, je comprends mieux grâce à toi ^^
Revenir en haut Aller en bas
Contenu sponsorisé




Cours #4 : Modules, case when, retours et fin de la théorie - Page 2 Empty
MessageSujet: Re: Cours #4 : Modules, case when, retours et fin de la théorie   Cours #4 : Modules, case when, retours et fin de la théorie - Page 2 Icon_minitime

Revenir en haut Aller en bas
 

Cours #4 : Modules, case when, retours et fin de la théorie

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 2 sur 2Aller à la page : Précédent  1, 2

 Sujets similaires

-
» Théorie : Création d'un Jeu
» [Photoshop - théorie] Les brushs
» [Photoshop - théorie] Les scripts
» [VX] Déplacement par demi-case
» Comment faire un events de plusieurs case

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Apprentissage :: Archives des anciens cours :: Cours de RGSS2-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Cookies | Forum gratuit