Bonjour,
Je suis débutante en ruby et n'arrive pas à instancier un objet. En effet, lorsque je lance le code j'ai l'erreur suivante : "/home/rachelle/NetBeansProjects/Test/lib/main.rb:58: uninitialized constant Joueur (NameError)"
Voici le code de ma classe Joueur :
class Joueur
attr_accessor :nom, :prenom, :score, :nombre_parties_gagnees;
def initialize (nom, prenom)
@nom = nom;
@prenom = prenom;
@score= 0;
@nombre_parties_gagnees = 0;
end
def to_s
chaine= "INFORMATIONS JOUEURS :\n -Nom : #{@nom}\n -Prénom #{@prenom}\n-Score : "+ @score.to_s;
return chaine;
end
end
Et voici l'instanciation d'un ojet de Classe Joueur :
joueur = Joueur.new("Dupont", "Jean");
puts joueur.to_s;
QUESTION CONCERNANT LES CONSTRUCTEURS/ACCES ATTRIBUTS D'UNE CLASSE :
Je voudrais savoir aussi s'il est possible de créer sois même ses méthodes d'accès aux données en Ruby, notamment pour l'écriture. j'ai pu voir qu'il existait des méthodes toutes faites (attr_writer, attr_reader, attr_accessor) mais je ne vois pas comment on pourrait gérer le contenu des variables. Je sais que cela existe en PHP5 et en Java par le biais des getters (ex : on ne veut pas que la valeur d'un attribut salaire soit négatif et on génère des erreurs). Je n'ai rien vu la dessus en ruby et je trouve cela bizzare ... il y a t-il quelque chose à préciser dans les méthodes déja existantes ou faut -il tout simplement créer une méthode set_attribut ?
Merci beaucoup par avance =)
Partager