2010-03-19 3 views

Répondre

7

String(arg) appelle to_s sur arg et renvoie le résultat. nil.to_s renvoie une nouvelle chaîne vide. String(nil) renvoie donc une nouvelle chaîne vide.

Array(arg) tente d'appeler to_ary puis to_a sur arg, renvoyant le résultat de la première méthode qui existe (ou [arg] si aucune méthode existe). NilClass n'a pas de méthode to_ary, mais nil.to_a renvoie un nouveau tableau vide. Array(nil) renvoie donc un nouveau tableau vide. Notez que String(arg) et Array(arg) ne sont pas des constructeurs. Ce ne sont que des méthodes globales définies dans Kernel. Pour construire des objets dans Ruby, vous appelez généralement new sur une classe, par ex. Array.new(2) pour créer un tableau de longueur 2.

Questions connexes