为什么application.rb不使用require_relative()?

时间:2016-02-28 19:24:01

标签: ruby-on-rails

在Rails 4.2.5中,在 app / config / application.rb 中,我注意到文件顶部的这段代码:

require File.expand_path('../boot', __FILE__)

Q1:这不是这个吗?:

require_relative('boot')

Q2:如果这两个相同,那么任何人都知道为什么rails使用前一个代码而不是后一个代码?似乎后一段代码更短更清晰,因此更可取。

1 个答案:

答案 0 :(得分:1)

好问题。它可能只是Rails支持Ruby 1.8.7时的延续,因为require_relative在Ruby 1.9之前没有引入。但是,由于自Rails 4.0以来1.8.7支持被删除,因此require_relative无法替代使用byte[] buffer = ((DataBufferByte)my image.getRaster().getDataBuffer()).getData() ;。我的猜测是,在这几年中没有人想过改变它,因为它按原样工作。此外,我不确定是否使Rails代码库更清晰,更容易理解,这对Rails核心团队来说至关重要。