Kendi yeni Ruby'imi (MRI 1.9.3) derlediğimi varsayarsak, varsayılan LOAD_PATH nedir ve bu nasıl hesaplanır?Varsayılan Ruby LOAD_PATH nasıl belirlenir?
cevap
, ilk yükleme yolu şuna benzer: grep
ile
$ ruby -e 'puts $LOAD_PATH'
/Users/matt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1
/Users/matt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/x86_64-darwin10.8.0
/Users/matt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby
/Users/matt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/vendor_ruby/1.9.1
/Users/matt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/vendor_ruby/1.9.1/x86_64-darwin10.8.0
/Users/matt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/vendor_ruby
/Users/matt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1
/Users/matt/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin10.8.0
Armed, Yakut kaynağına soruşturma definition of ruby_initial_load_paths[]
in version.c
yol açar (bu Ruby 1.9.3 üzerindedir). Geçerli olanların (ne NO_INITIAL_LOAD_PATH
veya RUBY_SEARCH_PATH
ayarlanmış), RUBY_SITE_LIB2
olduğunu. Bu tanım we see üzerinde tanımlayıp bakıldığında:
#define RUBY_SITE_LIB2 RUBY_SITE_LIB "/"RUBY_LIB_VERSION
ve in turn:
#define RUBY_SITE_LIB RUBY_LIB_PREFIX"/site_ruby"
tanımlayıp, bu zincir sonra, bu, yukarıda zaman yük yolu ilk giriş tekabül açık hale gelir. Benzer şekilde, bu değişkene giren diğer sabitler diğer yük yolu girişlerine karşılık gelir.
ruby_init_loadpath_safe()
in ruby.c
'da ruby_initial_load_paths[]
değişkeni, işlem için gerçek yükleme yolunun ayarlandığı yerde kullanılır.
Sorunuzun yanıtı, yapının nasıl yapılandırıldığına göre, ilk yükleme yolunun #define
s ile derlenme zamanında ayarlanmasıdır.
Sizin derleme bunun çoğunlukla
/usr/lib/ruby/X.Y.Z
X.Y.Z sizin yakut C API sürümü sürüm numarasını temsil * Nix tabanlı sistemlerde bir lib dizini oluşturun. Benim makinede
- 1. WPF kullanarak varsayılan yazıcı nasıl belirlenir?
- 2. Django seçimleri. Varsayılan seçenek nasıl belirlenir?
- 3. Graphviz: 'varsayılan' ok stilini nasıl belirlenir?
- 4. ruby varsayılan değişken idiom
- 5. "Gereksinim" ifadesinin varsayılan olarak nasıl görünüyor? Ruby
- 6. Bir örneğin bir Ruby modülüyle genişletilip genişletilmediğini nasıl belirlenir?
- 7. ruby / raylar: Modülün dahil olup olmadığı nasıl belirlenir?
- 8. Swagger php belgelerinde varsayılan json değeri nasıl belirlenir?
- 9. FOS \ RestBundle için json için varsayılan biçim nasıl belirlenir?
- 10. Yaml kullanarak dosya yüklerken varsayılan değerler nasıl belirlenir?
- 11. date_select raylarında varsayılan değeri nasıl belirlenir ve alınır
- 12. Başlangıç bloğunun değeri nasıl belirlenir?
- 13. Uygulama kaldırıldığında nasıl belirlenir
- 14. Eklentinin dizini nasıl belirlenir
- 15. Tuple türleri nasıl belirlenir?
- 16. MongoDB - Diziler nasıl belirlenir?
- 17. ServiceController'den Windows.Diagnostics.Process nasıl belirlenir
- 18. Sunucu konumu nasıl belirlenir?
- 19. Dizi türü nasıl belirlenir?
- 20. Görünümde doubletap nasıl belirlenir?
- 21. Akış sonu nasıl belirlenir?
- 22. MPI_Recv - Sayı nasıl belirlenir?
- 23. Dataproc kümesindeki bölümlerin sayısı nasıl belirlenir/denetlenir
- 24. nasıl Ruby
- 25. Fabrika Boyu için veritabanı nasıl belirlenir?
- 26. Perl kaynak kodu nasıl belirlenir?
- 27. Dosyadan sertifika türü nasıl belirlenir
- 28. OSX yönetici şifresi nasıl belirlenir?
- 29. HTTP hata kodu nasıl belirlenir?
- 30. GC Sonlandırıcı ipliği nasıl belirlenir?
Hayır öyle değil, sürüm numarası Ruby C API sürümünü gösterir –