【问题标题】:how to get rid of ruby's warning: already initialized constant如何摆脱 ruby​​ 的警告:已经初始化的常量
【发布时间】:2012-09-22 00:00:28
【问题描述】:

我正在尝试动态地重新定义 gem 的常量,因此我不需要修改 gem 本身。

require 'xmlrpc/client'

XMLRPC::Config.const_set("ENABLE_NIL_PARSER", true)

warning: already initialized constant ENABLE_NIL_PARSER

是否有可能摆脱警告?

【问题讨论】:

标签: ruby xml-rpc


【解决方案1】:

简单的方法:

v, $VERBOSE = $VERBOSE, nil
# code goes here
$VERBOSE = v

【讨论】:

  • 好的,关闭全局暂时修复它,但我很好奇为什么前面提到的解决方案不起作用。谢谢!
【解决方案2】:

你甚至可以像这样将它包装在一个块中

def ignoring_warnings(&block)
  begin
    v, $VERBOSE = $VERBOSE, nil
    block.call if block
  ensure
    $VERBOSE = v
  end
end

【讨论】:

    猜你喜欢
    • 2011-08-29
    • 2011-01-02
    • 2011-08-20
    • 1970-01-01
    • 1970-01-01
    • 2011-11-29
    • 2012-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多