2010-03-31 6 views

Répondre

27

Vous pouvez le faire:

arrayObject = Object::const_get('Array').new 
+0

Cool! Merci beaucoup! – vooD

15

Vous pouvez également utiliser les éléments suivants si vous utilisez Ruby on Rails:

array_object = "Array".constantize.new 
+0

Ressemble à une solution de RoR. Je vous remercie! – vooD

+3

Il est à noter que 'constantize' est une extension de base ajoutée à Ruby par le module ActiveSupport des Rails, c'est-à-dire que ce n'est pas du pur Ruby. –

+0

Bon point John, j'ai mis à jour ma réponse. –

4

Si vous avez une classe, comme par exemple à cordes :

a = String 
a.new("Geo") 

donnerait une chaîne. La même chose s'applique à d'autres classes (le numéro de type & sera différent bien sûr).

+1

Bien que cela ne réponde pas directement à la question, c'est un bon point que puisque les classes sont des objets, vous pouvez les stocker comme n'importe quel autre objet et cela pourrait être une meilleure approche dans de nombreux cas où vous seriez tenté d'utiliser une chaîne dans une autre langue. – Chuck

Questions connexes