2012-02-27 18 views

cevap

61

Bu sizin platformu bağlıdır ve nasıl Yakut derlenmiştir, bu nedenle hayır "" cevabı Buna vardır. Sen çalıştırarak öğrenebilirsiniz:

ruby -e 'puts $:' 

Genellikle olsa da, her altında bir kemer, sürüm ve genel dizinde dahil standart, siteyi ve satıcı Ruby kütüphane yolları var.

+3

değişken RUBYLIB ortamı ayarlayarak belirtilebilir. $: Veya $ LOAD_PATH değişkeni gerçekten aranan yerlerin tam listesini verir. Kendiniz bunu basmak için basit ve temiz bir yol belirttiniz ... – Perry

+2

Ah. Soruyu nasıl okudunuza bağlı olarak değişir: Bu Ruby'nin nerede göründüğüne dair bir cevap vardır, ancak başka bir Ruby'yi veya farklı bir platformda çalıştırırsanız bu durum değişecektir. örneğin: MRI 1.8.7 ve REE farklı yollar kullanacaktır, ya da Darwin ve Linux MRI, farklı şekilde farklı yollar kullanacaktır. Hangisi olduğundan emin değildim, bu cevapla daha rahat hissettim. –

+2

Bu kadarı doğrudur, ancak soruyu tahmin edersem, sorgulayıcı sadece platformlar boyunca sabit olduğunu varsaymaktan ziyade, yük yolunun ne olduğunu bulmayı bilmek isterdi. – Perry

1

gerektirir (string) => doğru veya yanlış

Yakut başarılı true dönen, kütüphane adında dize yüklenmeye çalışıyor. Dosya adı mutlak bir yola çözümlenmezse, $: olarak listelenen dizinlerde aranacaktır. Dosya ".rb" uzantısına sahipse, kaynak dosya olarak yüklenir; uzantı ".so", ".o" veya ".dll" ise veya varsayılan platform kütüphanesi uzantısı mevcut platformdaysa, Ruby paylaşılan kitaplığı bir Ruby uzantısı olarak yükler. Aksi halde, Ruby ismine ".rb", ".so" vb. Eklemeyi dener. Yüklenen özelliğin adı diziye $:.

22

Ruby, $LOAD_PATH dizisinde belirtilen tüm yollara bakar.

Ayrıca şöyle aramak için dizin ekleyebilirsiniz:

$LOAD_PATH.unshift File.expand_path('../path/from/this/file/to/another/directory', __FILE__) 
+0

Tam olarak neye ihtiyacım vardı. Teşekkürler! – Kilhoffer

7

ek yollar bir "" yanıtı var

İlgili konular