Gregory Brown
9/15/2006 9:46:00 PM
hi, see the other posts about overloading, but i'll try to help with your case
On 9/15/06, Junkone <junkone1@gmail.com> 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
It looks like you want to use an optional parameter
try:
def initialize(back_testing=nil)
@exchanges = ""
@industries = ""
@sectors = ""
@stock_symbols = ""
@dbcon = back_testing ? DbAccess.new(@back_test_db) : load_db_con
load_lookup
end
I think this will do what you'd expect it to do
new() will call load_db_con, new(true) would be calling your back_test_db
====
I am a little bit concerned with the way you've organized this class,
but hopefully this will at least show three things.
1) How to use optional parameters
2) ruby_style instead of javaStyle
3) note that I split up the assignment for your instance variables?
It is because they were pointing to the same object.
>> a = b = "foo"
=> "foo"
>> a.replace "bar"
=> "bar"
>> b
=> "bar"