在我的 Ruby 程序中,我试图延迟加载一个库(好奇的破解)。
如果我这样做:
require 'rubygems'
require 'crack'
一切正常。但是,当我尝试这个时:
require 'rubygems'
autoload :Crack, 'crack'
引发了 LoadError。(没有这样的文件可以加载——破解)
为什么会引发此错误?是因为“crack”(以及我的其他用户安装的 gem)不在我的 $LOAD_PATH 中吗?
编辑:
此外,autoload
确实适用于标准库:
autoload :Yaml, 'yaml'
工作正常,并且不会引发错误。