在Ruby问题中包含文件

unj*_*nj2 3 ruby load require include

  • 我是Ruby的新手,所以请你建议分离文件并包含它们的最佳实践.
  • 文件布局的首选设计结构是什么.您何时决定将算法分成新文件?
  • 什么时候使用load来包含其他文件?什么时候使用require?
  • 当你包含文件时是否有性能损失?

谢谢.

Mar*_*osi 6

  • 我为每个类创建一个文件,除了小辅助类的类,其他文件不需要.我也将子目录中的不同模块分开.

  • 之间的差异load和require是require只会加载文件一次,即使它被称为多次,而load将加载一遍无论它被加载过.你几乎总是想要使用require,除非irb你想手动想要重新加载文件.

  • 我不确定性能如何.当您load或require文件时,解释器必须解释该文件.大多数Ruby会在需要后将其编译为虚拟机代码.显然,require当文件可能已被包含一次时性能更高,因为它可能不必再次加载它.