在Windows上使用roo gem,代码如下:
require 'roo'
require 'roo-xls'
workbook = Roo::Excel.new 'test.xls'
Run Code Online (Sandbox Code Playgroud)
我收到了STDOUT的消息
[DEPRECATION] extend Roo::Tempdir and use its .make_tempdir instead
Run Code Online (Sandbox Code Playgroud)
代码工作正常后,我能够做我想要的每一件事.但是,我想摆脱这个消息(没有创建一个新的类或类似的东西,它只是打开一个文件......对吗?).我怎么做?
正确的解决方法是不使用已弃用的方法,而是使用推荐的方法.但是,在这种情况下,不是您使用已弃用的方法,它的作者是roo-xls:
Run Code Online (Sandbox Code Playgroud)make_tmpdir do |tmpdir| # …
所以,你唯一能做的就是:
roo-xls,最好是一个修复问题的拉取请求(实际上,前者已经为你完成了)暂时禁止弃用警告,直到上游问题得到解决; Roo使用Kernel#warn,所以你可能只会关闭所有警告,但这样的事情应该有效:
original_warning_level = $VERBOSE
$VERBOSE = nil
workbook = Roo::Excel.new 'test.xls'
$VERBOSE = original_warning_level
Run Code Online (Sandbox Code Playgroud)