奇怪的错误:在Ruby中膨胀GZip字符串



test = Zlib::Inflate.inflate(inputstring)

给我NameError:未初始化常量Tk::Button:: inflation

我使用Tk作为接口,但是如果我取消这一行的注释,一切都可以正常工作(test不在其他地方使用)

(下面的源代码http://corelib.rubyonrails.org/classes/Zlib/Inflate.html)

def inflate(string)
zstream = Zlib::Inflate.new
buf = zstream.inflate(string)
zstream.finish
zstream.close
buf
end
newString = inflate(inputstring)

也给了我一个类似/相同的NameError

注:编辑很奇怪……(不得不做更多的改动)

您是否在文件开头添加了require 'zlib' ?

Ruby在Tk::Button命名空间中查找Inflate常量,您可以使用以下命令强制它查找根目录:

test = ::Zlib::Inflate.inflate(inputstring)

最新更新