[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