[perl #40156] [TODO] - Can't use an Iterator with a DynLexPad PMC
Will Coleda via RT
parrotbug-followup at parrotcode.org
Wed Feb 25 18:00:44 UTC 2009
On Sat Sep 06 18:26:02 2008, cotto wrote:
> On Tue Feb 05 06:50:24 2008, coke wrote:
> > On Wed Aug 16 23:09:16 2006, mdiep wrote:
> > > I don't know how to write a test for this off the top of my head,
but
> > > Iterator and DynLexPad don't play well together atm. When I tried,
I
> > > got this error:
> > >
> > > elements() not implemented in class 'DynLexPad'
> > >
> > > Is there an easy way to make an arbitrary hash-like PMC
(DynLexPad,
> > > NameSpace, etc.) play well with iterator?
> > >
> > > Tcl needs to be able to iterate over the keys to return a list of
all
> > > the variables in the current procedure/lexpad. (See [info vars])
> > >
> > > --
> > > Matt Diephouse
> > >
> >
> > A nice cage task would be to write a test demonstrating the use of
an
> > iterator in this case.
>
> As of r30844 there's a TODO'd test for this, but some work will need
to
> be done to make DynLexPads (and LexPads, incidentally) iterable.
Since
> DynLexPads are based on Hashes, I imagine most of the work will be in
> adapting get_iter and get_*_keyed.
The TODO'd test here is flawed - it contains debug out that will never
match. It also assumes that the lexpad's iter will return things in
order, which seems overly optimistic.
A potential fix to the not-providing-iter solution is to just have this
PMC extend Hash.
--
Will "Coke" Coleda
More information about the parrot-dev
mailing list