Wouldn't this be nice?
    Reinier Zwitserloot 
    reinier at zwitserloot.com
       
    Wed Nov 11 09:37:31 PST 2009
    
    
  
Taking a page from python, why not add to one of the common dump spots for
functions, say, Collections, the following method:
public static void Iterable<Integer> range(final int i) {
    return new Iterable<Integer>() {
        public Iterator<Integer> iterator() {
            return new Iterator<Integer>() {
                private int p = 0;
                public boolean hasNext() {
                    return p < i;
                }
                public Integer next() {
                    if (p < i) return p++;
                    throw new NoSuchElementException();
                }
                public void remove() {
                    throw new MethodNotSupportedException();
                }
            };
        }
    };
}
then all you need to do is:
import static java.util.Collections.range;
for (int i : range(50)) { /* do stuff */ }
Josh: I'm a bit meh on your suggestion. Is that really so much of an
improvement over:
for (char c : "someString".toCharArray())?
probably yes, but between the extra burden on the JLS and potential
confusion between chars and codepoints, it doesn't strike me as a big loss.
--Reinier Zwitserloot
On Wed, Nov 11, 2009 at 5:36 PM, Paulo Levi <i30817 at gmail.com> wrote:
> for(int i : infos.length)
>
> for(long i : 35L)
>
> or even
>
> for(int i : -30)
>
> (0 being always the start, the second element the end.)
>
> I think it would. It would make the for loop actually useful if
> iterating over more than one (indexed) data structure in the same
> loop.
> The ideas come late and later.
>
>
    
    
More information about the coin-dev
mailing list