Uninitialized constant error


#1

I have three ruby classes, see below:

  1. base_cls.rb

File.dirname(FILE)+’/cls_factory’
class BaseCls

def self.say
ClsFactory.say
end
end
BaseCls.say

  1. sub_cls.rb

require File.dirname(FILE)+’/base_cls’

class SubCls < BaseCls
end

  1. cls_factory.rb

require File.dirname(FILE)+’/sub_cls’

class ClsFactory
def self.get_cls
SubCls.new
end
end

When I run base_cls.rb, I got this error:

base_cls.rb:5:in `say’: uninitialized constant BaseCls::ClsFactory
(NameError)

I don’t understand why this error happens? Can anyone help me on this?

thanks.


#2

2009/1/30 Zhao Yi removed_email_address@domain.invalid:

end

base_cls.rb:5:in `say’: uninitialized constant BaseCls::ClsFactory
(NameError)

I don’t understand why this error happens? Can anyone help me on this?

Maybe you meant to prefix the first line in base_cls.rb with “require”?

Stefan


#3

Stefan L. wrote:

Maybe you meant to prefix the first line in base_cls.rb with “require”?

Stefan

Oh, sorry, I forgot to type the ‘require’. But the problem is still
there.