On Sat, 16 Sep 2006, Junkone wrote: > My class declation is like this > > class TorontoTraderLoader > INDEX_SYMBOL=2 > STOCK_SYMBOL=1 > @backTestDb=['backtestBackTest', 'user','pass'] > > def initialize(backTesting) > @exchanges=@industries=@sectors=@stocksymbols='' > @dbcon=DbAccess.new(@backTestDb) > loadLookup > end > def initialize() > @exchanges=@industries=@sectors=@stocksymbols='' > > loaddbConn > loadLookup > end > ... > I get the following error and it is so odd > irb(main):001:0> require 'TorontoTraderLoader' > => true > irb(main):002:0> a=TorontoTraderLoader.new('ww') > ArgumentError: wrong number of arguments (1 for 0) > from (irb):2:in `initialize' > from (irb):2 > > It does not make any sense. i have a overloaded constructor. i am not No, you redefined it. No overloading in Ruby (because "Duck Typing") > sure why it does not call teh overloaded constructor > Maybe def initialize(backTesting = nil) @exchanges=@industries=@sectors=@stocksymbols='' if backTesting.nil? @dbcon=DbAccess.new(@backTestDb) else loaddbConn end loadLookup end is more the kind of think you want, but in the first method you don't seem to use the param backTesting anyway. Hugh > >