03-09-2011, 08:08 PM
(Modification du message : 04-09-2011, 09:33 AM par Sephi-Chan.)
Bonjour, dans le but de coder en ruby différemment qu'en "php avec la syntaxe ruby", j'aimerais vous montrez 3classes que j'ai créé juste pour l'entraînement, j'ai suivi ce tuto qui nous apprends entre autres: boucles, itérations, conditions, comparaisons, type de variables, fonctions, classes... Un truc pour bon gros débutant comme moi. Ce que je recherches sont les critiques!
Voici donc mes 3classes:
Merci.
Voici donc mes 3classes:
class Adresse
attr_accessor :numero, :rue, :code_postal, :ville, :pays
def initialize(numero, rue, code_postal, ville, pays)
@numero = numero
@rue = rue
@code_postal = code_postal
@ville = ville
@pays = pays
end
def to_s # Génère l'adresse complète
@numero + " " + @rue + "\n" + @code_postal + " " + @ville + ", " + @pays
end
end
class Personne
attr_accessor :nom, :prenom, :adresse, :telephone, :adresse_email
def initialize(nom, prenom, adresse, telephone, adresse_email = nil)
@nom = nom.upcase
@prenom = prenom.capitalize
@adresse = adresse
@telephone = telephone
@adresse_email = adresse_email
end
def nom_complet
@nom + " " + @prenom
end
def afficher # Affiche les coordonnées
text_list = "Contact: " + nom_complet + "\n"\
"Telephone: " + telephone + "\n"\
"Adresse email: " + adresse_email + "\n"\
"Adresse: \n" + adresse.to_s + "\n----------------------------------\n"
text_list
end
end
class Carnet
def initialize(personnes)
@personnes = []
personnes.each do |personne|
ajouter(personne)
end
end
def ajouter(personne)
@personnes.push(personne)
@personnes = @personnes.sort { |a,b| a.nom_complet <=> b.nom_complet }
end
def retirer(personne)
@personnes.delete(personne)
end
def chaque_personne # itérateur
@personnes.each { |p| yield(p) }
end
end
Merci.