首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Ruby中,什么时候可以使用`requies`,`load`或者`autoload`?

在Ruby中,什么时候可以使用`requies`,`load`或者`autoload`?
EN

Stack Overflow用户
提问于 2009-04-29 21:12:38
回答 3查看 24.6K关注 0票数 65

我理解Ruby语言中requireloadautoload之间的细微差别,但我的问题是,你怎么知道该使用哪一种?

除了能够在匿名模块中“包装”load之外,require似乎更受欢迎。

但是,autoload允许您延迟加载文件--这听起来很棒,但我不确定您实际上从require获得了什么

其中一种方法比另一种更受欢迎吗?是否存在一种方法脱颖而出的情况?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-04-29 23:08:12

通常,您应该使用requireload每次都会重新加载代码,因此如果您从多个模块执行此操作,您将需要做大量额外的工作。Ruby的懒惰在理论上听起来不错,但许多autoload模块做的事情就像修补其他类一样,这意味着程序中不相关部分的行为可能取决于给定的类是否已被使用。

如果您想创建自己的自动重新加载程序,以便在代码每次更改或每次有人点击URL时加载(出于开发目的,您不必每次都重新启动服务器),那么使用load是合理的。

票数 69
EN

Stack Overflow用户

发布于 2011-10-17 14:36:37

下面是使用autoload胜过require所获得的好处

Ruby主要用于加速autoload程序或Rails应用程序的初始化阶段。通过在需要时才加载资源,可以大大提高速度。

另一个优点是,如果用户不使用某些特性,您可能不需要加载代码的某些部分,从而缩短了加载时间并减少了内存占用。

票数 13
EN

Stack Overflow用户

发布于 2013-06-14 20:16:37

除了别人已经告诉你的事情之外,autoload的未来是不确定的。它计划在Ruby 2.0中被弃用,但在2.0特性冻结之前,它并没有被及时弃用。现在预计在Ruby2.1,but that is not even certain anymoreautoload将被弃用。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/804297

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档