【问题标题】:Is there a way to silence Ruby's deprecation warning in 2.4.0?有没有办法在 2.4.0 中消除 Ruby 的弃用警告?
【发布时间】:2017-01-15 02:32:26
【问题描述】:

自 Ruby 2.4.0 起,使用某些已弃用的功能会出现弃用警告。例如,BignumFixnumTRUEFALSE 都会触发弃用警告。在我修复我的代码时,有相当多的代码我希望它保持沉默,尤其是在 Rails 中。我该怎么做?

【问题讨论】:

  • @Anthony 这是不同的。弃用警告现在出现在 Ruby 2.4.0 中,而不仅仅是 Rails。
  • 使用-W0 选项运行您的代码是否可以在这里工作?
  • @AndreyDeineko 对于我编写的代码,但不适用于在 gem 中烘焙的东西。
  • 另外,还有一个gem ruby-warning(虽然没用过)

标签: ruby deprecation-warning


【解决方案1】:
module Kernel
  def suppress_warnings
    original_verbosity = $VERBOSE
    $VERBOSE = nil
    result = yield
    $VERBOSE = original_verbosity
    return result
  end
end


>> X = :foo
=> :foo
>> X = :bar
(irb):11: warning: already initialized constant X
=> :bar
>> suppress_warnings { X = :baz }
=> :baz

【讨论】:

  • 这对我编写的代码很有用,但是有没有办法让 Ruby 整体上运行所有这样的代码?
猜你喜欢
  • 1970-01-01
  • 2011-02-10
  • 1970-01-01
  • 1970-01-01
  • 2021-07-27
  • 2010-09-16
  • 2014-08-11
  • 2012-02-23
  • 2011-06-08
相关资源
最近更新 更多