Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 需要订购红宝石_Ruby_Rubygems_Require - Fatal编程技术网

Ruby 需要订购红宝石

Ruby 需要订购红宝石,ruby,rubygems,require,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名为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
,作为
对象的直接子类。如果以后包含将
B
定义为
a
的子类的文件,则在这一点上存在矛盾