新手问题 运行 irb 时,怎样能认出当前目录下的类?

wgf4242 · 2013年03月20日 · 最后由 nevill 回复于 2018年09月30日 · 2719 次阅读

比如当前目录下有个 computer.rb class Computer end

irb 中运行,my_computer = Computer.new

NameError: uninitialized constant Computer

你需要require这个文件~

require File.expand_path('./computer',  __FILE__)
require_relative

#3 楼 @zgm require_relative 没法在 irb 里面用吧?

@wgf4242 启动 irb 的时候,当前目录 . 不在 $LOAD_PATH 中,可以用 irb -I . 来启动,然后

require 'computer'

亦可以 irb -r ./computer 这样来加载

#4 楼 @nevill 确实, 没看到 帖子 在 irb 中运行这个条件。

require './computer',最简单

nevill 回复

为什么 require_relative 没法在 irb 里面用呢?

maxchen 回复

这个坟挖的。。。😅 想想看 require_relative 是相对哪个东西来加载呢?看看 __FILE__ 的值是什么?

需要 登录 后方可回复, 如果你还没有账号请 注册新账号