Am 31.08.2011, 19:36 Uhr, schrieb Simen Kjaeraas <simen.kja...@gmail.com>:

On Wed, 31 Aug 2011 18:57:01 +0200, bearophile <bearophileh...@lycos.com> wrote:

Simen Kjaeraas:

Next iteration:

     [x; 2 * x; iota(10); x & 1]

If you don't like the syntax I've shown with foreach, then use the Python syntax, it's readable and short and good:

[2 * x for x in iota(10) if x & 1]
Or:
[2 * x for x in 0 .. 10 if x & 1]

I feel it is too much a departure from the style otherwise present in D. It is important not only that the syntax is good in and of itself, but also in the
context of D.

I agree with Simen. Use semicolons where you separate logical parts of the expression like in for(each) and commas when you have an argument list or enumerations where all elements have the same context or meaning (hard to explain). So the Python syntax is [<calculation> for <counter> in <range> if <filter>]. I don't know if the filter is actually required, but it sounds like a neat idea. How about multidimensional arrays though?

Reply via email to