Hi, > Thanks but any explanation why that closure didnt work?
Sorry, I just looked at your code again, and realized that I misread it the first time (which is why my http://jsbin.com/ejeju4 worked but yours didn't). You're doing hashBrown.each(function(key) { ... But that loops through the key/value *pairs*, not the keys, so the `unset` call doesn't have any effect because there's no matching key. You want: hashBrown.keys().each(function(key) { ... ...as in the link above. (Your quoted code also had a typo -- "hashBown" rather than "hashBrown" -- but I assume that that's just a typo in this message, or you'd be seeing an exception in your debugger.) With these things, sometimes the issues become obvious when you step through the code with a debugger. Might have helped here, if you did that and saw the values for `key`... HTH, -- T.J. Crowder Independent Software Engineer tj / crowder software / com www / crowder software / com On Oct 21, 5:34 pm, chrysanthe m <chrysant...@gmail.com> wrote: > Hi TJ > Thanks but any explanation why that closure didnt work? Makes me wonder how > to code any of those really elegant uses. I relinquished to the irratating > crude hashBrown=new Hash(). It just so disgusts me, grin. > > On Thu, Oct 21, 2010 at 3:15 AM, T.J. Crowder <t...@crowdersoftware.com>wrote: > > > > > Hi, > > > > I'm surprised the loop didn't work, it seems to: > > >http://jsbin.com/ejeju4/2 > > > Sorry, that link was wrong. It should be: > >http://jsbin.com/ejeju4 > > > -- T.J. > > > On Oct 21, 7:51 am, "T.J. Crowder" <t...@crowdersoftware.com> wrote: > > > Hi, > > > > On Oct 21, 3:39 am, chrysanthe m <chrysant...@gmail.com> wrote: > > > > > Hello > > > > How do I clear a prototype hash? I have finally tried and failed with > > below > > > > after trying hashBrown.length=0 and hashBrown.clear(). > > > > hashBown.each(function(key) { > > > > hashBrown.unset(key); > > > > }); > > > > I'm surprised the loop didn't work, it seems to: > >http://jsbin.com/ejeju4/2 > > > > Or you could add your own `clear` function, but you'd want to be sure > > > to check with each Prototype dot release that the implementation > > > didn't need to be tweaked: > > > > * * * * > > > // Add Hash#clear > > > // Note that this must be RECHECKED on every Prototype dot release > > > // to ensure that the internals haven't changed. > > > (function() { > > > function Hash_clear() { > > > this._object = {}; > > > } > > > > Hash.prototype.clear = Hash_clear;})(); > > > > * * * *http://jsbin.com/ibipe4 > > > > I would _not_ suggest just doing hashBrown._object = {}; inline in > > > your code. Define a method and check the implementation on every dot > > > release, so there's only one place to add it. > > > > I _know_ I've seen discussion of adding a #clear method to hash, but I > > > don't recall the result. As it's not in 1.7, maybe someone thought it > > > wasn't a good idea, but it seems like an odd omission to me. I've done > > > a ticket in Lighthouse[1] offering to do a patch on git (for 1.7.1, > > > not 1.7.0) if people do want it. > > > > [1] > >https://prototype.lighthouseapp.com/projects/8886-prototype/tickets/1... > > > > FWIW, > > > -- > > > T.J. Crowder > > > Independent Software Engineer > > > tj / crowder software / com > > > www / crowder software / com > > > -- > > You received this message because you are subscribed to the Google Groups > > "Prototype & script.aculo.us" group. > > To post to this group, send email to > > prototype-scriptacul...@googlegroups.com. > > To unsubscribe from this group, send email to > > prototype-scriptaculous+unsubscr...@googlegroups.com<prototype-scriptaculou > > s%2bunsubscr...@googlegroups.com> > > . > > For more options, visit this group at > >http://groups.google.com/group/prototype-scriptaculous?hl=en. -- You received this message because you are subscribed to the Google Groups "Prototype & script.aculo.us" group. To post to this group, send email to prototype-scriptacul...@googlegroups.com. To unsubscribe from this group, send email to prototype-scriptaculous+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/prototype-scriptaculous?hl=en.