[Newbies] Re: Some general questions

Bert Freudenberg bert at freudenbergs.de
Wed May 23 15:21:45 UTC 2007


On May 23, 2007, at 17:16 , Bert Freudenberg wrote:

>
> On May 23, 2007, at 16:37 , Darren White wrote:
>
>> Hello, Thanks fro the replies.
>>
>> I think my first question was a little fuzzy. I think what I need  
>> to do as change the question.
>>
>> If for example I have a seaside web app and users need to create  
>> an account. Now, for each user I create an object, say an instance  
>> of class Users, which has instance variables such as name and  
>> address. So the new user puts in their detail such as name,  
>> address, telephone number and then click register. How should (not  
>> what) the system name this object. What I'm confused about is I  
>> don't know how may users the system will have have do I name all  
>> the user object; I can't call them all aUser . If the first user  
>> gets an object named user1 how do I create another instance of  
>> User named user2 or What about If I want to use one of the input  
>> field as part of the name of the object?
>>
>>
>> The example below may make it clear what I mean
>>
>> 10 timesRepeat: [
>> x := 1 asString.
>> ''the value of x can be any string object"
>> user"how do I add x to be part off the name so I end up with  
>> variable named user1 user2 ... " := User new.
>> x := x + x.]
>
>
> There is a cool thing called a "collection" that can hold as many  
> users as you want:
>
> 	users := OrderedCollection new.
> 	10 timesRepeat: [users add: User new].
>
> And later you can access an individual user like this:
>
> 	users at: 2
>
> 	users at: 5

Also, there is another kind of collection named dictionary that  
allows to use objects other than integers (like strings) to be the key:

	users := Dictionary new.
	1 to: 10 do: [:i | users at: ('user', i asString) put: (User new)]

(I added parens for clarity, they're not necessary in this case)

Retrieval goes like this:

	users at: 'user5'

Cheers,

- Bert -




More information about the Beginners mailing list