On Wed, Jul 27, 2016 at 8:13 AM, Joseph Alotta <joseph.alo...@gmail.com> wrote: > Ben, Ron, I made a small example, and it works as you said it would: > > a := #( #(1 2) #(3 4)). > b := a asOrderedCollection. > b => an OrderedCollection(#(1 2) #(3 4)) > c := b select: [ :i | (i first) = 3 ].
Ahh. Code examples help. Maybe what you need is #detect: which returns an element rather than a collection of elements. > c => an OrderedCollection(#(3 4)) > d := c first > d => #(3 4) > d at: 2 put: 5 > d => #(3 5) > b => an OrderedCollection(#(1 2) #(3 5)) > > Okay, I will check my other code. > > Sincerely, > > Joe. Here's a domain specific example... Object subclass: #DrivingDays instanceVariables: 'date store mileage"?" ' ...etc... oc := OrderedCollection new. oc add: (DrivingDays new date: '2016-01-02' ; store: 'quigley' ; mileage: 18). oc add: (DrivingDays new date: '2016-01-03' ; store: 'marianos' ; mileage: 5). oc printString. >> > an OrderedCollection(2016-01-02| quigley | 18, >> > 2016-01-03| marianos | 5) drivingDayToUpdate := oc detect: [ :dd | dd store = 'marianos' ]. drivingDayToUpdate mileage: 7. oc printString. >> > an OrderedCollection(2016-01-02| quigley | 18, >> > 2016-01-03| marianos | 7) (disclaimer, I am not somewhere I can run this. Its just off the top of my head.) cheers -ben > > > > >> On Jul 26, 2016, at 6:25 PM, Ben Coman [via Smalltalk] <[hidden email]> >> wrote: >> >> Hi Joe, >> >> As Ron said, you should not be getting a copy. If you still have a >> problem, perhaps best if you post code for a complete example: >> * class definition (with just two instance variables) >> * instance variable accessor methods >> * instance creation & adding to collection >> * select statement >> * updating object >> >> cheers -ben >> >> On Wed, Jul 27, 2016 at 5:53 AM, Ron Teitelbaum <[hidden email]> wrote: >> >> > Hi Joe, >> > >> > If the orderedCollection contains your object DrivingDays then select >> > should give you the object and not a copy. >> > >> > You don't need to add it back to the collection just update the object. >> > >> > Check your code for anything that might be making a copy. >> > >> > All the best, >> > >> > Ron Teitelbaum >> > >> > >> > -----Original Message----- >> > From: [hidden email] [mailto:[hidden email]] On Behalf Of Joseph Alotta >> > Sent: Tuesday, July 26, 2016 3:04 PM >> > To: [hidden email] >> > Subject: [Newbies] indexing into a collection >> > >> > Greetings, >> > >> > I have a OrderedCollection of DrivingDays. >> > >> > >> > an OrderedCollection(2016-01-02| quigley s| nil|18§ >> > 2016-01-03| marianos fresh| nil|5§ >> > 2016-01-04| fresh thyme| nil|5§ >> > 2016-01-05| panda express| nil|3§ >> > 2016-01-06| peets| nil|7§ >> > 2016-01-07| starbucks| nil|3§) >> > >> > I want to select aDrivingDay object from the list by date, update it by >> > adding mileage and places visited and put it back into the list. >> > >> > If I #select the OrderedCollection, I get a copy of the item, not the >> > same one in the OrderedCollection. >> > >> > How do I select an item in the list for update? >> > >> > Sincerely, >> > >> > Joe. _______________________________________________ Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners