我已经更改了班级的名称,但之前的名字也被记住了

时间:2016-01-18 17:20:18

标签: ruby

我创建了一个类Contact的文件。我在irb或pry会话中加载了该文件。我能够访问Contact

然后我在文件中将Contact更改为Vendor,然后在仍运行irb或pry会话时重新加载文件。我现在可以访问旧的Contact和新的Vendor类。

如果我重新启动irb或pry会话并加载相同的文件,这次只能访问Vendor。这是一个众所周知的故障吗?

1 个答案:

答案 0 :(得分:1)

正如其他程序的工作方式一样,Ruby解释器将内容读入随机存取存储器(RAM),并根据RAM中的内容执行。加载文件后,对文件所做的更改无关紧要。从第一次加载开始,RAM中就有Contract。只要进程仍在运行,重新加载具有不同内容的同一文件就不会从RAM中删除任何内容。