從ruby目錄中要求所有文件的最佳方法是什么?
3 回答

30秒到達戰(zhàn)場
TA貢獻1828條經(jīng)驗 獲得超6個贊
怎么樣:
Dir["/path/to/directory/*.rb"].each {|file| require file }

月關(guān)寶盒
TA貢獻1772條經(jīng)驗 獲得超5個贊
如果它是相對于需要執(zhí)行此操作的文件的目錄(例如,您要加載lib目錄中的所有文件):
Dir[File.dirname(__FILE__) + '/lib/*.rb'].each {|file| require file }
編輯:根據(jù)以下評論,更新版本:
Dir[File.join(__dir__, 'lib', '*.rb')].each { |file| require file }

holdtom
TA貢獻1805條經(jīng)驗 獲得超10個贊
Dir[File.dirname(__FILE__) + '/../lib/*.rb'].each do |file|
require File.basename(file, File.extname(file))
end
如果不刪除擴展名,則可能最終需要兩次相同的文件(ruby不會意識到“ foo”和“ foo.rb”是同一文件)。兩次請求同一文件可能會導致虛假警告(例如,“警告:已初始化的常量”)。
- 3 回答
- 0 關(guān)注
- 561 瀏覽
添加回答
舉報
0/150
提交
取消