1

我在 dos CMD 上的 IRB shell 中工作

我从一个 mystuff 文件加载一个模块 require '.\mystuff'

我更改了 mystuff 文件中的模块,然后再次输入 require '.\mystuff'

当我尝试从最新版本的 mystuff 模块中调用函数或变量时,为什么 IRB 没有获取文件中的更改?

4

2 回答 2

2

require不会两次加载相同的文件。如果要再次加载文件,则需要使用load. 请参阅Ruby 中的 include 和 require 有什么区别?了解更多信息。

于 2013-08-18T21:07:37.497 回答
-2

你的语法错误

Ruby 不使用反斜杠。您需要使用正斜杠,或使用File#join

您的 $LOAD_PATH 错误

你的$LOAD_PATH(又名$:)是错误的。您需要包含当前工作目录:

$: << '.'

在 irb 中,或在可执行文件或源文件中使用Kernel#require_relative 。

于 2013-08-18T21:11:04.843 回答