- 我对 Ruby 很陌生,所以您能否建议分离文件并包含它们的最佳实践。
- 文件布局的首选设计结构是什么。您什么时候决定将算法分离到一个新文件中?
- 什么时候使用load来包含其他文件,什么时候使用require?
- 包含文件时是否会影响性能?
谢谢。
我为每个类创建一个文件,除了那些是小型帮助类的类,其他文件不需要。我也在子目录中分离了我的不同模块。
load
和require
is之间的区别require
只会加载文件一次,即使它被多次调用,whileload
会再次加载它,无论之前是否加载过。您几乎总是想使用require
,除非irb
您想手动重新加载文件。
我不确定性能是否受到影响。当你load
还是require
一个文件时,解释器必须解释这个文件。大多数 Ruby 会在需要后将其编译为虚拟机代码。显然,require
当文件可能已经被包含一次时,它的性能更高,因为它可能不必再次加载它。