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

Dmitry V. Sabanin sdmitry at lrn.ru
Mon Jul 21 16:09:40 MSD 2003


On Monday 21 July 2003 19:14, SoNaR wrote:
> Hello Yuri,
>
> Monday, July 21, 2003, 1:53:34 PM, you wrote:
>
> YL> On Mon, 21 Jul 2003 13:36:58 +0400
>
> YL> SoNaR <sonar at scli.ru> wrote:
> >> Hello ruby,
> >>
> >>   Т.е. я подключаю файл load 'cmpcp.rbw', но если он уже подключен
> >>   происходит ошибка повторного определения. Помнится в Си это делалось
> >>   через объявление модульных констант.
>
> YL> Делай require а не load, и во второй раз он не загрузиться
>
> ИМХО 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", "."]

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




More information about the Ruby mailing list