RubyMine:未解决的Ruby参考全局变量
问题描述:
运行RubyMine 2016.2.4。这个项目有一个名为$environment
的“全球”单身人士。遍布整个代码库的这个文件是require_relative
'd来访问运行时依赖关系。 RubyMine在使用此全局的类中为$environment
的每个实例显示“未解析的Ruby参考”。的environment.rb
文件的外观RubyMine:未解决的Ruby参考全局变量
实物模型:
require 'singleton'
class Environment
include Singleton
def log
...
end
end
$environment ||= Environment.instance
用法示例这RubyMine的抱怨:
require_relative '../environment'
class FancyWorker
def run
...
$environment.log.info 'Running!'
end
end
我试图寻找无果如何解决此问题的检查在RubyMine中。我不想禁用检查,因为它对于发现合法问题很有用 - 但这不是合法的问题。
(请保留约全局是坏自己的评论,我并没有作出这样的设计决策 - 我只是想帮助的RubyMine了解参考。)
答
我想你发现的RubyMine的错误。尝试改变:
$environment ||= Environment.instance
到:
$environment = $environment || Environment.instance
或只是分配给它,如果你确信你不会被定义$environment
其他地方。
+0
你可能对RubyMine中的错误是正确的。使用'$ environment = $ environment || Environment.instance似乎已经解决了这个问题。 – aarontc
卢西丁使用院校文件。也许它对你的全局变量也有帮助'#@type [Environment]' – slowjack2k