2012-01-31 70 views
2

我想使用此代碼加載所有的Ruby文件的目錄中從一個Ruby文件中的所有文件未初始化恆定誤差從Class Foo繼承的Class Bar。紅寶石時加載一個目錄

Class Bar < Foo 

當我運行我的程序時,出現錯誤:未初始化的常量Foo(NameError)。

我想這是因爲它試圖加載Bar類,但尚未加載Foo類。

我已經嘗試明確要求Foo內部的酒吧,但隨後我將得到警告,因爲Foo將被加載兩次。

如何加載目錄中的所有文件,以便自動需要任何所需文件。

回答

1

由於沒有真正的方法來強制使用循環時需要文件的順序,因此首先必須在循環前定義Foo的文件require

require "./pages/file_that_defines_foo.rb" 
Dir["#{File.dirname(__FILE__)}/pages/*_page.rb"].each { |r| load r }