ACCEPTABLE?: List Comprehensions?

Paulo Levi i30817 at gmail.com
Mon Mar 16 13:48:12 PDT 2009


I dunno.
The major line reduction win is in the nested fors example, but most of the
fors i make with a list output are not nested. I would just like that this
proposal also adapts to the simple zip or multi-map usage.

Lets see if i understand it:
Simple copy:
List<Integer> out = [x for x : in]
Simple map:
List<Integer> out = [x+valueToAdd for x : in]
Multi-map :
List<Integer> out = [x+valueToAdd, x+3 for x : in] (output list.size =
in.size * 2)
List<Integer> out = [x+valueToAdd if x % 2 == 0, x+3 if x % 2 != 0 for x :
in]
Zip:
List<Integer> out = [x+valueToAdd, y+3 for x : in, y : in2]
List<Integer> out = [x+valueToAdd if x % 2 == 0, y+3 if x % 2 == 0 for x :
in, y : in2]
Nested fors (only 1 condiction allowed):
[ a + b + c, if a > 5 && c < 2,  for a : intList1, for b : intList, for c :
intList]

The nested for is the most bizarre and unusual example of all.
I see why you put the condition after the for, but i think that is a little
less readable.
If you see the nested fors example you see i'm contracting myself, viz ";"
and ",".
I leave the field to the experts, but please make the main usecase the
easiest.



More information about the coin-dev mailing list