我在 dos CMD 上的 IRB shell 中工作
我从一个 mystuff 文件加载一个模块 require '.\mystuff'
我更改了 mystuff 文件中的模块,然后再次输入 require '.\mystuff'
当我尝试从最新版本的 mystuff 模块中调用函数或变量时,为什么 IRB 没有获取文件中的更改?
require
不会两次加载相同的文件。如果要再次加载文件,则需要使用load
. 请参阅Ruby 中的 include 和 require 有什么区别?了解更多信息。
Ruby 不使用反斜杠。您需要使用正斜杠,或使用File#join。
你的$LOAD_PATH
(又名$:
)是错误的。您需要包含当前工作目录:
$: << '.'
在 irb 中,或在可执行文件或源文件中使用Kernel#require_relative 。