Re: Dynamic names
- Posted by Derek Parnell <ddparnell at bigpond.com> Oct 08, 2001
- 446 views
Hi Jasper, ----- Original Message ----- From: <Jasper_Holshuijsen at dsw.nl> To: "EUforum" <EUforum at topica.com> Subject: Dynamic names > > Case: In a given situation I want to add 1 to an specified integer. > > Something like this: > > integer atbat, RBIplayer1, RBIplayer2, RBIplayer3.....RBIplayer 10, etc. > > if X > 0 then > if atbat = player1 then RBIplayer1 = RBIplayer1 + 1 end if > if atbat = player2 then RBIplayer2 = RBIplayer2 + 1 end if > .... > if atbat = player10 then RBIplayer10 = RBIplayer10 + 1 end if > end if > > Is it possible to simplify it to something like this: > > if X > 0 then > RBI[atbat] = RBI[atbat] + 1 > end if > Sure is. This is a classic use of sequences. Remember that a sequence can be used to implement an array. In this case a list of scores. He is a bit of code to demonstrate it. ---------- sequence RBI constant MAXPLAYERS = 10 integer atbat . . . -- Initialise the scores RBI = repeat(0, MAXPLAYERS) . . . -- Increase score if X > 0 then if atbat > 0 and atbat <= MAXPLAYERS then RBI[atbat] += 1 else printf(1, "Logic error: 'atbat' = %d\n", atbat) end if end if ------------ Derek.