【问题标题】:Require order in a Ruby gem在 Ruby gem 中需要订单
【发布时间】:2016-09-02 06:00:00
【问题描述】:

我正在更新的名为 politicosbr 的新特性的 Ruby gem 依赖于其他四个 Ruby gem,并且在其主模块中需要它们。

require 'open-uri'
require 'nokogiri'
require 'httparty'
require 'roo-xls'

但它也需要一些内部文件:

require 'politicosbr/constantes'
require 'politicosbr/estaduais'
require 'politicosbr/vereadores'

这可能只是风格问题,但无论如何我想知道在这种情况下是否有任何关于需求顺序的 Ruby 约定。

换句话说,我应该先需要内部文件,还是先需要其他 gem,还是根本不重要?

【问题讨论】:

    标签: ruby rubygems require


    【解决方案1】:

    你应该在内部文件之前需要外部文件,因为外部文件不应该依赖于你的文件,但你的内部文件依赖于外部文件。

    例如,假设一个外部文件将类 A 定义为 B 的子类,并且您在文件中使用类 B。如果你只是(像往常一样)在你的内部文件中做:

    class B
      ...
    end
    

    那么这将创建类B 作为Object 的直接子类。如果您稍后将定义B 的文件包含为A 的子类,那么此时就会出现矛盾。

    【讨论】:

      猜你喜欢
      • 2015-09-12
      • 2011-11-10
      • 2014-12-21
      • 1970-01-01
      • 1970-01-01
      • 2020-04-17
      • 2013-08-18
      • 2015-12-08
      • 1970-01-01
      相关资源
      最近更新 更多