2016-01-18 43 views
0

我创建了一个类Contact的文件。我在irb或pry会话中加载了该文件。我能够访问Contact我已经改变了班级的名字,但是以前的名字也被记住了

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

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

回答

1

就像其他程序一样,Ruby解释器将内容读入随机存取存储器(RAM),并根据RAM中的内容执行。一旦你加载了一个文件,不管你对该文件做了什么改变。在你的第一次加载中,你在RAM中有Contract。只要进程仍在运行,用不同的内容重新加载相同的文件不会擦除RAM中的任何内容。

+1

谢谢,我可以欣赏这一点。因此加载.rb文件只是简单地接受另一行代码来记住我更改.rb文件的时间。当我退出irb或pry时,所有代码行都被遗忘了。检查。 –

相关问题