【发布时间】:2013-10-08 12:24:48
【问题描述】:
我是一名 ruby on rails 开发人员,我在 rails application 的环境中使用的 Require 和 load 之间感到很困惑。这两个功能到底是做什么的。
【问题讨论】:
标签: ruby-on-rails load require environment
我是一名 ruby on rails 开发人员,我在 rails application 的环境中使用的 Require 和 load 之间感到很困惑。这两个功能到底是做什么的。
【问题讨论】:
标签: ruby-on-rails load require environment
我只是想向您解释一下这两个语句,这两个不是 rails 中的函数。 Rails 在之前加载文件时使用缓存来缓存文件。当你的缓存为真时,它使用 require 否则它使用 load 语句独立于缓存加载。
我只想说 require 用于缓存已经加载的文件,并且 load 总是命中服务器来加载文件。
【讨论】:
load 和require 都非常相似,因为它们确保指定的类被加载到您的 Ruby 上下文中。
主要区别在于load 将在您每次调用它时加载该类,即使已经加载。有一些用例,尤其是单元测试。
相比之下,require 只是确保类已加载。如果它已经被加载,它什么也不做。如果尚未加载,则立即加载。
另一个小区别是,load 需要指定文件名.rb 扩展名,而require 不需要.rb 扩展名。
【讨论】: