1 # This file is part of NIT ( http://www.nitlanguage.org ).
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
7 # http://www.apache.org/licenses/LICENSE-2.0
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
17 # Simple comprehension
18 var a1
= [for i
in c1
do i
*2]
22 var a2
= [for i
in c1
do for j
in c1
do i
* 10 + j
]
25 # Cartesian product and filters
26 var a3
= [for i
in c1
do if i
.is_odd
then for j
in c1
do if j
.is_even
then i
* 10 + j
]
30 var a4
= [for i
in [for i
in c1
do i
*2] do i
+ 1]
34 var a5
= [for i
in c1
do [for j
in c1
do i
*10+j
]]
35 print
([for i
in a5
do i
.join
(",")].join
(";"))
37 # Multi-iteration (zip)
38 var a6
= [for i
in c1
, j
in c1
.reverse_iterator
do i
* 10 + j
]