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



Le Deal du moment :
Fnac : 2 Funko Pop achetées : le 3ème ...
Voir le deal

Partagez
 

 [Résolue] attr_reader, attr_accessor, j'ai rien de plus explicite pour un titre Oo

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Gothor
Chevalier Lv.17
Chevalier Lv.17
Gothor


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

[Résolue] attr_reader, attr_accessor, j'ai rien de plus explicite pour un titre Oo Empty
MessageSujet: [Résolue] attr_reader, attr_accessor, j'ai rien de plus explicite pour un titre Oo   [Résolue] attr_reader, attr_accessor, j'ai rien de plus explicite pour un titre Oo Icon_minitimeLun 1 Mar 2010 - 17:48

Bonjour à tous, voilà, pour les cours de script de Miraino, j'essaye d'utiliser les modules et les variables en mode lecture seule/lecture-écriture...

J'ai donc fait un petit test... Ce que je ne comprends pas, c'est pourquoi, dans le premier message, à la place des variables @variable_R et @variable_WR, rien ne s'affiche lors du premier message, alors qu'elles sont initialisées à 30 et 40...

Merci d'avance Wink

Code:
module  MonModule
  CONSTANTE = 20
  class MaClasse
  attr_reader :variable_R
  attr_accessor :variable_WR
  @variable_R = 30
  @variable_WR = 40
    def initialize
      print "Les valeurs initiales des variables sont :\nConstante : #{MonModule::CONSTANTE}\nVariable en mode lecture : #{@variable_R}\nVariable en mode lecture/écriture : #{@variable_WR}\n\nTentons de remplacer chacune de ces valeurs en leur mettant toute la valeur de 50..."
      @variable_R = 50
      @variable_WR = 50
      print "Les valeurs initiales des variables sont :\nConstante : #{MonModule::CONSTANTE}\nVariable en mode lecture : #{@variable_R}\nVariable en mode lecture/écriture : #{@variable_WR}\n\nNous remarquons que seule la variable en mode lecture/écriture a vu sa valeur modifiée car la constante étant constante, il est impossible de changer sa valeur, et la dernière variable étant uniquement en mode lecture, ne peut pas être modifée ailleurs que dans le module même."
    end
  end
end

begin
  appel = MonModule::MaClasse.new
end


Dernière édition par Gothor le Ven 19 Mar 2010 - 12:13, édité 1 fois
Revenir en haut Aller en bas
jebbou
Doyen
Doyen
jebbou


Masculin Age : 45
Inscrit le : 20/08/2008
Messages : 2485

[Résolue] attr_reader, attr_accessor, j'ai rien de plus explicite pour un titre Oo Empty
MessageSujet: Re: [Résolue] attr_reader, attr_accessor, j'ai rien de plus explicite pour un titre Oo   [Résolue] attr_reader, attr_accessor, j'ai rien de plus explicite pour un titre Oo Icon_minitimeLun 1 Mar 2010 - 18:04

J'allais dire que l'initialisation des variables doit de faire dans le initialize, mais j'ai vu ceci dans le cours d'Hikari.

Code:

class MaClasse
  attr_accessor :ma_var
  MA_CONST = "allo"
  @ma_var = "coucou"
end

Selon ce bout de code tout devrait marcher sur des roulettes. Essaie néanmoins de mettre les initialisations dans le Initialize.
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

[Résolue] attr_reader, attr_accessor, j'ai rien de plus explicite pour un titre Oo Empty
MessageSujet: Re: [Résolue] attr_reader, attr_accessor, j'ai rien de plus explicite pour un titre Oo   [Résolue] attr_reader, attr_accessor, j'ai rien de plus explicite pour un titre Oo Icon_minitimeLun 1 Mar 2010 - 18:32

Gothor > Ton code est faux =D
(Enfin d'après mes petites connaissance)
Mets tes variables dans l'initialize et test =)

PS : Les variables qui se trouve directement dans la classe (et non dans des méthodes)
on les écrit
Code:
@@var
Va savoir pourquoi =/
Revenir en haut Aller en bas
vincentmhd
Maire Lv.9
Maire Lv.9
vincentmhd


Masculin Age : 36
Inscrit le : 04/02/2009
Messages : 326

[Résolue] attr_reader, attr_accessor, j'ai rien de plus explicite pour un titre Oo Empty
MessageSujet: Re: [Résolue] attr_reader, attr_accessor, j'ai rien de plus explicite pour un titre Oo   [Résolue] attr_reader, attr_accessor, j'ai rien de plus explicite pour un titre Oo Icon_minitimeLun 1 Mar 2010 - 19:35

Normal, c'est un autre type de partage de variables, elles sont communes à toutes les instances de cette classe à la fois.

Si j'ai une classe Voiture.
Ma twigo, et ma mercerdes, partageront cette variable, elles n'auronts pas chacune la leur. La modifier pour une la modifiera pour toutes. Je crois que l'on parle de variables statiques, si j'essais de faire un lien avec le C++.
Revenir en haut Aller en bas
Gothor
Chevalier Lv.17
Chevalier Lv.17
Gothor


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

[Résolue] attr_reader, attr_accessor, j'ai rien de plus explicite pour un titre Oo Empty
MessageSujet: Re: [Résolue] attr_reader, attr_accessor, j'ai rien de plus explicite pour un titre Oo   [Résolue] attr_reader, attr_accessor, j'ai rien de plus explicite pour un titre Oo Icon_minitimeMar 2 Mar 2010 - 8:35

Les seules types de variables pouvant être placées et étant accessibles situées dans les modules sont-elles les constantes?

Oh, et pourquoi, du coup, lorsque je mets @@variable_R = 50, la valeur de la variable est modifiée alors qu'elle n'est qu'en mode lecture : attr_reader :variable_R
Revenir en haut Aller en bas
vincentmhd
Maire Lv.9
Maire Lv.9
vincentmhd


Masculin Age : 36
Inscrit le : 04/02/2009
Messages : 326

[Résolue] attr_reader, attr_accessor, j'ai rien de plus explicite pour un titre Oo Empty
MessageSujet: Re: [Résolue] attr_reader, attr_accessor, j'ai rien de plus explicite pour un titre Oo   [Résolue] attr_reader, attr_accessor, j'ai rien de plus explicite pour un titre Oo Icon_minitimeMar 2 Mar 2010 - 11:13

Un module est un conteneur, je crois que c'est l'équivalent des namespaces du C++, il sert juste à faire différentes caisses à objects. Tu ranges tes objets avec des noms.
Tu y mettre plein de choses, après cela va vivre differement selon leur nature...

En réalité, certaines variables dans ces espaces ne dépasseront pas la compilation, le moment où le programme est écrit. Tu peux éxecuter des bouts de code à ce moment là, on parle de préprocesseur. Les variables toutes bêtes sont "consommées", ça permet par exemple de calculer des Constantes...
Elles seront constantes après compilation, et parfois tu ne sais pas la valeur qu'elles auronts avant, par exemple si tu donnes l'occasion au maker de customiser le script.

exemple:

Spoiler:

Sans pouvoir m'avancer.
Je crois que les Contantes sont les seules variables qui ne soient pas consommées à l'intérieur d'un module après compilation.
Les variables @ et @@ sont faites pour être encapsulées (protégées) dans une classe, et n'ont pas leur place isolées dans un module.
Après je ne fais que des suppositions sur la base de ce que connait du C++, car les langages objets fonctionnent un peu pareils. Et je ne sais pas pourquoi en la mettant en reader elle continue de se faire écraser...
Revenir en haut Aller en bas
Angellan
Admindictatrice
Admindictatrice
Angellan


Féminin Age : 33
Inscrit le : 27/02/2009
Messages : 2855

[Résolue] attr_reader, attr_accessor, j'ai rien de plus explicite pour un titre Oo Empty
MessageSujet: Re: [Résolue] attr_reader, attr_accessor, j'ai rien de plus explicite pour un titre Oo   [Résolue] attr_reader, attr_accessor, j'ai rien de plus explicite pour un titre Oo Icon_minitimeVen 19 Mar 2010 - 9:43

Ou en est ce problème ? S'il est résolu merci d'éditer votre premier message et de mettre [résolu] dans le titre (n'est-ce pas ?)
Revenir en haut Aller en bas
http://bonheur-du-yaoi.forumsactifs.com
Contenu sponsorisé




[Résolue] attr_reader, attr_accessor, j'ai rien de plus explicite pour un titre Oo Empty
MessageSujet: Re: [Résolue] attr_reader, attr_accessor, j'ai rien de plus explicite pour un titre Oo   [Résolue] attr_reader, attr_accessor, j'ai rien de plus explicite pour un titre Oo Icon_minitime

Revenir en haut Aller en bas
 

[Résolue] attr_reader, attr_accessor, j'ai rien de plus explicite pour un titre Oo

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

 Sujets similaires

-
» [Résolue ]Question sur un titre
» Script pour faire un jeu style new super mario bros pour vx ace [Non-Résolue]
» [Resolue] Aide pour un ''copier/coller''
» Image pour un titre
» Aide pour titre et game over!!

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Problèmes et Solutions :: Résolu-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Forumactif.com