Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.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 on rails Ruby require::文件语法_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails Ruby require::文件语法

Ruby on rails Ruby require::文件语法,ruby-on-rails,ruby,Ruby On Rails,Ruby,为什么在某些情况下,要求在ruby中使用file类的文件前面有一个空白名称空间,如下面的config.ru require ::File.expand_path('../config/environment', __FILE__) 在其他地方没有: require File.expand_path('../../config/boot', __FILE__) 感谢明确指定的作用域解析运算符(如步骤1所示)确保将从全局命名空间加载文件类 如果模块在其命名空间中重新定义了文件类,则第二个版本

为什么在某些情况下,要求在ruby中使用file类的文件前面有一个空白名称空间,如下面的config.ru

require ::File.expand_path('../config/environment',  __FILE__)
在其他地方没有:

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

感谢

明确指定的作用域解析运算符(如步骤1所示)确保将从全局命名空间加载文件类

如果模块在其命名空间中重新定义了文件类,则第二个版本将选择该类而不是全局类

在大多数情况下,可以安全地忽略这一点,并且您可以假设您的类正在由全局命名空间加载,即使没有定义范围解析运算符