ruby - 需要 Ruby gem 的订单

标签 ruby rubygems require

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

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

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

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

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

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

最佳答案

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

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

class B
  ...
end

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

关于ruby - 需要 Ruby gem 的订单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37084626/

相关文章:

ruby - 在 Ruby 中,将 "chomp"放在字符串开头而不是结尾的最简单方法是什么?

javascript - 绑定(bind)处理程序以形成 'ajax:success' 事件

ruby - Rails 3 中的斯坦福 corenlp gem 'Could not find JAR file'

ruby - 为什么 bundle 更新后 gem 仍然过时

php - fatal error : Class 'PHPMailer' not found in

ruby - 需要方法内的语句?

ruby-on-rails - 为什么迁移不起作用

ruby - 如何在不使用 Ruby 中的 "string.reverse"方法的情况下检查单词是否为回文?

ruby-on-rails - 获取 Errno::ENOENT: No such file or directory @rb_sysopen 当试图在 Roo gem(Ruby on rails)中打开远程文件 url 时

php - 如何在 PHP 中包含一个类