2013-09-07 21 views
6

Istnieje wiele wątków o tym już wiem, ale żaden z tytułów nie ma tego sformułowania dokładnie tak jak ja. Mam nadzieję, że możemy to trochę wyjaśnić.

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

Widzisz coś takiego w wielu kodach Ruby. Opinie są różne, niezależnie od tego, czy jest to właściwe, czy nie.

Czy możemy uzyskać trochę wyjaśnienia dla każdej z jego części? Naprawdę dużo tu się dzieje. Rozumiem tylko niektóre z tego.

Odpowiedz

11

posiada Ścieżka ładowania dla skryptów i modułów binarnych według obciążenia lub wymagania.. I Array#unshift doda nową ścieżkę do $:. File#expand_pathKonwertuje ścieżkę do bezwzględnej ścieżki.__FILE__ został już tutaj odpowiedział What does __FILE__ mean in Ruby?.

+0

Dzięki za wyjaśnienie @Arup. –