Чем отличаются $LOAD_PATH и $:
Мне нужно было знать, что было в моем пути загрузки Ruby, поэтому я сделал это:
$ ruby -e "puts $LOAD_PATH"
Он ничего не печатал, чего я не ожидал. Итак, я попробовал это:
$ ruby -e "puts $:"
/usr/local/lib/site_ruby/1.8
/usr/local/lib/site_ruby/1.8/i486-linux
/usr/local/lib/site_ruby/1.8/i386-linux
/usr/local/lib/site_ruby
/usr/lib/ruby/vendor_ruby/1.8
/usr/lib/ruby/vendor_ruby/1.8/i486-linux
/usr/lib/ruby/vendor_ruby
/usr/lib/ruby/1.8
/usr/lib/ruby/1.8/i486-linux
/usr/lib/ruby/1.8/i386-linux
.
Почему второй дает мне ожидаемый результат, а первый нет? Разве они не должны быть одинаковыми? Я только что попробовал это в irb
и я получил ожидаемые результаты.
Это моя версия Ruby, на случай, если она изменится:
$ ruby --version
ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
1 ответ
Решение
Они не. Попробуйте запустить эту команду:
$ ruby -e 'puts $LOAD_PATH'
который не заставляет оболочку расширяться $LOAD_PATH
из-за использования '
вместо "
,