2012-02-11 23 views
33

Birçok yakut script içindeki bir çok görüyoruz ama emin değilim ne anlama geldiğini:

$:.unshift File.dirname(__FILE__) 
+0

Olası nedir? [$ Nedir. Unshift File.dirname (\ _ \ _ FILE \ _ \ _) 'yapıyor musunuz?] (Http://stackoverflow.com/questions/5155995/what-is-unshift- dosya-dizin-dosya-yapıyor) –

cevap

41

$:$LOAD_PATH için sadece bir kısa yoldur. __FILE__, komut dosyasının göreli yoludur. Bu, geçerli komut dizini dizinini yük yoluna ekler.

+0

Ve bu dizini önce ekleyin, bu yüzden diğerlerinin üzerinde önceliğe sahiptir. Sağ? – MegaTux

+0

@MegaTux Bu doğru. – bfontaine

11

yakut önceden tanımlı değişken bir dizi ile geliyor:

$: Dizide, Ruby komut dosyaları ve ikili modüller için yüklenecek veya yüklenecek yerlerin listesi bulunur. Başlangıçta, herhangi bir -I komut satırı anahtarının argümanlarından, ardından varsayılan Ruby kütüphanesi, probabl "/ usr/local/lib/ruby", ardından da ".", Ardından geçerli dizini temsil eden argümanlardan oluşur. (Anımsatıcı: kolon PATH ortam değişkeni için ayırıcılar içindir.)

fazlası için buraya bakınız: http://web.njit.edu/all_topics/Prog_Lang_Docs/html/ruby/variable.html#colon

başka bir bağlantı: http://www.ruby-forum.com/topic/142378#631564