Oulà attention ! Les Symbol ne sont pas que des String immuables.
Les Symbol sont également des "singletons". Il t'es garanti qu'une seule instance d'un même symbol existe. Si tu crée deux symboles identiques la seconde instantiation te renverra en fait la première instance.
Jusque là rien de grave. Par contre ça implique que les Symbol ne sont jamais déalloués par le GC. Autrement dit il ne faut jamais créer un symbol à partir d'une entrée utilisateur sans quoi tu t'exposes à un déni de service.
[^] # Re: String... symbol
Posté par Jean B . En réponse à la dépêche Ruby 2.0 est sorti. Évalué à 4.
Oulà attention ! Les
Symbolne sont pas que desStringimmuables.Les
Symbolsont également des "singletons". Il t'es garanti qu'une seule instance d'un même symbol existe. Si tu crée deux symboles identiques la seconde instantiation te renverra en fait la première instance.Jusque là rien de grave. Par contre ça implique que les
Symbolne sont jamais déalloués par le GC. Autrement dit il ne faut jamais créer un symbol à partir d'une entrée utilisateur sans quoi tu t'exposes à un déni de service.