| > A list comprehension is basically a cartesian product with a filter and map applied to it. Ah yes, explain me more the concept I've been using for a dozen years, surely
I don't understand it. And with mix of terminology from as far topics as set
theory and functional programming, to lessen the confusion. > What we have here is an array constructor, which takes one or more ranges as its arguments. I would never have guessed the arguments thing. > `x..<y` describes an open range (including x, excluding y). I would never have guessed it's open range. > you can also use positional arguments as in `{ ($0, $1) }` instead. I would never have guessed, and I was writing in Perl with its magic variables
for more than a half of my professional career and most of my studies. And that's the whole point: the syntax is so atrocious that it takes training
to understand it. I can accept the semantics to need training to understand
(as I did with Perl, Erlang, or now doing with Ada), but with this we haven't
hit that level yet. |