【发布时间】:2014-11-22 03:05:09
【问题描述】:
如果您更改文件然后在 pry 或 irb 中重新加载它,它似乎会获取您添加到该类的任何新功能,但不会忘记您从该类中删除的旧功能。
重现步骤:
- 使用单一方法创建一个类 - 例如。
say_hello。 - 打开 PRY 或 IRB,然后
load 'my_class.rb' - 编辑您的类 - 删除现有方法,并添加一个具有不同名称的新方法 - 例如。
say_goodbye - 重新加载你的课程 -
load 'my_class.rb'
您的两种方法现在都可用。我明白为什么会发生这种情况 - 因为 ruby 允许您重新打开类进行修改,重新加载文件基本上只是重新打开您已经加载的类的现有版本,而不是擦除该类的内存并定义从头开始上课。
我的问题是,除了退出并重新启动 PRY 或 IRB 之外,您如何解决这个问题?你怎么说“完全忘记我以前的课程并从头开始重新加载这个文件”?
谢谢!
【问题讨论】: