Многократный вызов "требует 'стойки'" во вложенном файле - PullRequest
1 голос
/ 11 сентября 2009

если у меня есть a.rb:

require 'rack'
require 'b'

и мой б.рб:

//do something with rack

Нужно ли b.rb также сказать:

require 'rack'

если b.rb будет когда-либо только 'require'd a.rb?

Я вижу много кода, где a.rb требует 'rack' и включает b.rb, который также требует 'rack'.

Ответы [ 2 ]

1 голос
/ 11 сентября 2009

Если вы можете гарантировать, что стойка всегда будет требоваться до того, как потребуется b, тогда нет необходимости require 'rack' внутри b.rb. Однако это может вызвать проблемы, если вы когда-либо реорганизуете свой код, чтобы требовать вещи в другом порядке.

0 голосов
/ 11 сентября 2009

Попробуйте:

require 'rack' if defined?(Rack).nil?

Это просто проверяет, определена ли постоянная для Rack, которая является модулем, и требует этого, если константа равна nil.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...