On Sat, 26 Jan 2013, Alexander Klenin wrote:
On Sat, Jan 26, 2013 at 10:34 PM, Michael Van Canneyt
<mich...@freepascal.org> wrote:
But if I must choose between
for a,b in c do
(with C a tuple enumerator/iterator) or
for a in c index b do
Then the former is ten times (well, a lot) better.
So if someone were to introduce that to solve the original poster's problem,
you will not hear me protesting, it will have been well worth the energy I
put in this discussion.
There are two reasons I proposed latter instead of former:
1) I think using keyword is more explicit and readable
2) I thought that smaller feature is easier to argue for than a large one --
apparently, I was mistaken on that :)
Well, a tuple is simply a new fundamental type.
Just like generics, BTW.
So, amended "for-in-index" proposal:
1) The syntax is
for value, key in container do ...
2) The enumerator interface is extended with optional
property CurrentWithKey: TValueKey;
where TValueKey must be a record with two fields.
I don't think we need a record.
Lets first see about how to implement general tuple values before you start
restricting it. I see Sven is already working on some ideas.
It may be more work up front, but it will be a more fundamental solution.
To be clear, the "for in index" syntax with 'index' keyword will not
be recuperated.
No temporary workarounds/hacks. Decent solutions.
Michael.
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel