2013-09-07 3 views
6

Il y a beaucoup de discussions ici à ce sujet je sais déjà mais aucun des titres n'a ce libellé exactement comme je l'ai fait. J'espère que nous pourrons éclaircir cela un peu.

$:.unshift(File.expand_path("../../lib", __FILE__)) 

Vous voyez quelque chose comme ça dans beaucoup de code Ruby. Les opinions varient selon que cela est correct ou non. Pouvons-nous avoir une petite explication pour chacune de ses parties?

Il se passe vraiment beaucoup de choses ici. Je ne comprends que partiellement.

Répondre

11

$: contient Charger le chemin pour les scripts et les modules binaires par load or require.. Et Array#unshift ajoutera le nouveau chemin à $:. File#expand_pathConvertit un chemin d'accès en chemin absolu.__FILE__ est déjà répondu ici What does __FILE__ mean in Ruby?.

+0

Merci pour cette explication @Arup. –