对于这段代码:
class myBaseClass
def funcTest()
puts "baseClass"
end
end
myBaseClass.new.funcTest
我收到一个错误:
NameError: undefined local variable or method `myBaseClass' for main:Object
from c:/Users/Yurt/Documents/ruby/polymorphismTest.rb:9
from (irb):145:in `eval'
from (irb):145
from c:/Ruby192/bin/irb:12:in `<main>'
irb(main):152:0> x=myBaseClass.new
当我尝试x=myBaseClass.new
时,我得到:
NameError: undefined local variable or method `myBaseClass' for main:Object from (irb):152
有没有人遇到过这个问题?我不认为我的代码会出错。
发布于 2011-06-27 04:17:35
在ruby中,包括类名在内的所有常量都必须以大写字母开头。myBaseClass
将被解释为未定义的局部变量。MyBaseClass
将正常工作。
发布于 2011-06-27 04:18:18
你的类名应该以大写字母开头,下面是工作代码
class MyBaseClass
def funcTest()
puts "baseClass"
end
end
MyBaseClass.new.funcTest
发布于 2011-06-27 04:21:54
你的代码是错误的。在Ruby中,类名必须以大写字母开头。
class MyBaseClass
把它修好。
我不明白的是你怎么不能像我一样得到一个清晰的错误信息。
https://stackoverflow.com/questions/6486443
复制相似问题