我对编码非常陌生,刚刚安装了Visual Studio Code with WSL Ubuntu extension。我想尝试一下,感受一下一切是如何工作的,所以我开始用Ruby运行一个非常简单的“hello world”代码。
输出结果很好,但我将str1更改为“Not hello”,然后再次尝试运行代码,但终端仍然输出旧的结果。它仍然不停地说“你好,世界”,而不是“不是你好,世界”。
我用许多不同类型的简单代码尝试了这一点,终端仍然运行旧代码而不是新代码。
这可能是一个非常简单的修复,我太新了,无法理解。我该怎么做才能让终端运行最新更新的代码?
1条答案
按热度按时间xpcnnkqh1#
如果创建新的文件编辑会话,则内容将存储在编辑器内存中的缓冲区中,直到您发出保存命令。或者,如果将现有文件加载到编辑器中,则将文件的内容读入编辑缓冲区。无论哪种方式,现在都有两个单独的副本:缓冲区中的一个和存储在文件系统中的一个。在显式保存编辑缓冲区之前,对编辑器缓冲区所做的修订独立于文件系统副本。诸如VS Code之类的编辑器会在编辑选项卡上向您提供可视化通知。当缓冲区和文件同步时,选项卡上会有一个“x”,当缓冲区已更改但尚未保存时,选项卡上会有一个点。
当你从命令行运行ruby时,它会将ruby解释器应用到你程序的文件系统副本。未保存的编辑不存在于该副本中,因此它们不会反映在输出中。若要解决此问题,请在尝试运行程序之前保存编辑器。
即使在50年的编程生涯中,我仍然偶尔会犯这个错误。如果您没有看到刚进行的编辑的结果,请检查编辑选项卡。如果有一个点而不是一个“x”,保存并重新运行。