(04-09-2011, 09:58 AM)Sephi-Chan a écrit : Je te conseille de passer à l'anglais tout de suite, c'est plus approprié pour le développement et encore plus pour Ruby on Rails, qui utilise beaucoup l'inférence de noms.
Généralement, on n'écrit pas explicitement le return : Ruby retourne automatiquement la dernière expression appelée.
Je n'aime pas trop cette méthode "afficher" pour tes personnes : je te conseille plutôt d'utiliser to_string.
Ensuite, je ne trouve pas la définition d'un itérateur pertinente : faire directement @address_book.contacts.each est infiniment plus naturel.
Enfin, je te recommande d'utiliser l'interpolation de chaîne plutôt que la concaténation (la coloration syntaxique est meilleure dans les éditeurs).
@numero + " " + @rue + "\n" + @code_postal + " " + @ville + ", " + @pays
"#{@numero} #{@rue}\n#{@code_postal} #{@ville}, #{@pays}"
Après, je ne sais pas trop si ce genre d'exercice te sera vraiment utile dans la mesure où tu écriras souvent des modèles/contrôleurs qui te fourniront un socle différent (par exemple, tes constructeurs ne prendront jamais une liste nom, prénom, etc. mais un hash d'attributs).
Check, check, check, check.
Par contre:
Oui, j'y trouves déjà une utilité, je comprends déjà beaucoup mieux ce que je fait sur Rails, quand on passes de php à Rails, sans passer par les fondamentales de Ruby, on se demandes si les syntaxes:
@variable
:variable
variables.each do |variable|
sont des syntaxes spéciales inventé par Rails, maintenant j'ai ma réponse.
Et puis de toute manière, mon but étant de faire un projet complexe de jeu web (j'allais dire jeu php...). Je ne pourrais pas tout faire avec Rails je penses (bien que je ne connaisses pas ses limites), mais déjà j'ai vu que les Active Record ne supportaient que les types suivant:
- :primary_key
- tring
- :text
- :integer
- :float
- :decimal
- :datetime
- :timestamp
- :time
- :date
- :binary
- :boolean