Scott,<br>I had combined your next and current, and in all honesty I'd prefer to keep it that way; it was the separation of the two that caused the headaches in the first place (the originals used moveNext(), which returned the value of atEnd, and apparently that caused some misunderstandings about how the iterators worked which leads us to where we are today).
<br><br>Under my suggestion here, current() would return you the current item *and* advance the internal cursor.&nbsp; I would provide an &quot;item&quot; property only if someone, for some reason, needed to gain another reference to the current item in the collection.&nbsp; But I would expect the dev to be using current() and atEnd().
<br><br>trt<br><br><div><span class="gmail_quote">On 4/12/06, <b class="gmail_sendername">Scott J. Miles</b> &lt;<a href="mailto:sjmiles@turbophp.com">sjmiles@turbophp.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div style="direction: ltr;">






<div dir="ltr" align="left"><span><font face="Arial" size="2">Seems like we went down this road already, but because I can't keep my 
mouth shut, I still say this is my personal preference:</font></span></div>
<div dir="ltr" align="left"><span><font face="Arial" size="2"></font></span>&nbsp;</div>
<div dir="ltr" align="left"><span><font face="Arial" size="2">it.atEnd( ) -&gt; boolean EOI indicator</font></span></div>
<div dir="ltr" align="left"><span><font face="Arial" size="2">it.next( ) -&gt; advance position, return value of 
it.atEnd()</font></span></div>
<div dir="ltr" align="left"><span><font face="Arial" size="2">it.current( ) -&gt; return current item</font></span></div>
<div dir="ltr" align="left"><span><font face="Arial" size="2"></font></span>&nbsp;</div>
<div dir="ltr" align="left"><span><font face="Arial" size="2">Then you can be compact like so:</font></span></div>
<div dir="ltr" align="left"><span><font face="Arial" size="2"></font></span>&nbsp;</div>
<div dir="ltr" align="left"><span><font face="Arial" size="2">while (it.next()) {</font></span></div>
<div dir="ltr" align="left"><span><font face="Arial" size="2">
<div dir="ltr" align="left"><span><font face="Arial" size="2">&nbsp;...</font></span></div></font></span><span><font face="Arial" size="2">}</font></span></div>
<div><font color="#0000ff" face="Arial" size="2"></font>&nbsp;</div>
<div><span><font face="Arial" size="2">Or if you 
prefer</font></span></div>
<div><span><font color="#0000ff" face="Arial" size="2"></font></span>&nbsp;</div>
<div><span>
<div dir="ltr" align="left"><span><font face="Arial" size="2">while (!it.atEnd()) { </font></span></div>
<div dir="ltr" align="left"><span><font face="Arial" size="2">&nbsp;...</font></span></div>
<div dir="ltr" align="left"><span><font face="Arial" size="2">&nbsp;it.next();</font></span></div>
<div dir="ltr" align="left"><span><font face="Arial" size="2">}</font></span></div>
<div dir="ltr" align="left"><span><font face="Arial" size="2"></font></span>&nbsp;</div>
<div dir="ltr" align="left"><span><font face="Arial" size="2">or any of various other constructions</font></span></div>
<div dir="ltr" align="left"><span></span><span><font face="Arial" size="2"></font></span>&nbsp;</div></span></div></div><div style="direction: ltr;"><span class="q">
<div align="left"><font face="Arial" size="2">Regards,</font></div>
<div align="left"><font face="Arial" size="2">Scott J. Miles</font></div>
<div align="left"><font face="Arial" size="2">TurboAjax Group</font></div>
<div align="left"><font face="Arial" size="2"><a href="http://www.turboajax.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://www.turboajax.com</a></font><br></div>
</span></div><div style="direction: ltr;"><div dir="ltr" align="left" lang="en-us">
<hr>
<font face="Tahoma" size="2"></font></div><font face="Tahoma" size="2"></font><div style="direction: ltr;"><span class="q"><font face="Tahoma" size="2"><b>From:</b> <a href="mailto:dojo-contributors-bounces@dojotoolkit.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
dojo-contributors-bounces@dojotoolkit.org</a> 
[mailto:<a href="mailto:dojo-contributors-bounces@dojotoolkit.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">dojo-contributors-bounces@dojotoolkit.org</a>] <b>On Behalf Of </b>Tom 
Trenka<br></font></span></div><div style="direction: ltr;"><font face="Tahoma" size="2"><b>Sent:</b> Wednesday, April 12, 2006 12:36 PM<br><b>To:</b> dojo 
dev.<br><b>Subject:</b> Re: [dojo-contributors] [feedback wanted] Preferred 
Iterationforms<br></font><br></div></div><div style="direction: ltr;"><span class="q">
<div></div>item in that example does, in fact, represents current item and not 
the next item.&nbsp; Brief example on the function (non functional, pseudo 
code)<br><br>iterator.current=function(){<br>&nbsp;&nbsp; var 
ret=internal[currentPosition];<br>&nbsp;&nbsp; currentPosition++;<br>&nbsp; 
return ret;<br>}<br><br>so the return from that function should be the current 
item and not the next item, which is why I was calling it current().<br><br>I'm 
fine with next, but that's the way it will end up working (i think). <br><br>
<div><span class="gmail_quote">On 4/12/06, <b class="gmail_sendername">Jon Sykes</b> 
&lt;<a href="mailto:jon.sykes@media-hive.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">jon.sykes@media-hive.com</a>&gt; 
wrote:</span>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">while(!it.atEnd()){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var 
  item=it.current();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;do 
  stuff<br>}<br><br>If var item in this example represents the current item not 
  the next<br>I think calling it next will be mad crazy confusing.<br><br>If 
  it's not, and it is the next item, it makes sense. <br><br><br>Jon 
Sykes<br></blockquote></div>
<br>

</span></div><div style="direction: ltr;"><span class="e" id="q_10a8fbe9b03af7f9_6"><p><font size="2">--<br>
No virus found in this outgoing message.<br>
Checked by AVG Free Edition.<br>
Version: 7.1.385 / Virus Database: 268.4.1/310 - Release Date: 4/12/2006<br>
</font> </p>

</span></div><br>_______________________________________________<br>dojo-contributors mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:dojo-contributors@dojotoolkit.org">dojo-contributors@dojotoolkit.org
</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://dojotoolkit.org/mailman/listinfo/dojo-contributors" target="_blank">http://dojotoolkit.org/mailman/listinfo/dojo-contributors</a><br><br><br></blockquote>
</div><br>