[Ruby] Как сделать так , чтобы файл не подключался дважды

Dmitry V. Sabanin sdmitry at lrn.ru
Mon Jul 21 16:24:14 MSD 2003


On Monday 21 July 2003 20:09, Dmitry V. Sabanin wrote:
> > ИМХО require ищет файл в каталоге библиотек Ruby. Как сделать, чтобы
> > он подключал их из текущей директории?
>
> require и load ищут файлы в одинаковых директориях, где конкретно можно
> посмотреть/изменить так:
>
> irb(main):014:0> $:
> => ["/usr/local/lib/myrubylibs", "/var/lib/myrubylibs",
> "/usr/local/lib/site_ruby/1.6", "/usr/local/lib/site_ruby/1.6/i386-linux",
> "/usr/local/lib/site_ruby", "/usr/lib/ruby/1.6",
> "/usr/lib/ruby/1.6/i386-linux", "."]
>
> irb(main):013:0> $:.unshift "/usr/local/lib/myrubylibs"
> => ["/usr/local/lib/myrubylibs", "/var/lib/myrubylibs",
> "/usr/local/lib/site_ruby/1.6", "/usr/local/lib/site_ruby/1.6/i386-linux",
> "/usr/local/lib/site_ruby", "/usr/lib/ruby/1.6",
> "/usr/lib/ruby/1.6/i386-linux", "."]
Извиняюсь, в первой строчке изначально "/usr/local/lib/myrubylib" не было. 
(перепутал местами)
Кстати, ещё один способ изменить путь поиска про который я не подумал:
$ ruby -I ../ -e 'p $:'
["../", "/usr/local/lib/site_ruby/1.6", 
"/usr/local/lib/site_ruby/1.6/i386-linux", "/usr/local/lib/site_ruby", 
"/usr/lib/ruby/1.6", "/usr/lib/ruby/1.6/i386-linux", "."]

-- 
sdmitry -=- Dmitry V. Sabanin
MuraveyLabs.




More information about the Ruby mailing list