forked from dotnet/fsharp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ForNInRangeArrays.fs
37 lines (36 loc) · 1.81 KB
/
ForNInRangeArrays.fs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
let f0 f = [|for n in 1..10 do f (); yield n|]
let f00 f g = [|for n in 1..10 do f (); g (); yield n|]
let f000 f = [|for n in 1..10 do f (); yield n; yield n + 1|]
let f0000 () = [|for n in 1..10 do yield n|]
let f1 () = [|for n in 1..10 -> n|]
let f2 () = [|for n in 10..1 -> n|]
let f3 () = [|for n in 1..1..10 -> n|]
let f4 () = [|for n in 1..2..10 -> n|]
let f5 () = [|for n in 10..1..1 -> n|]
let f6 () = [|for n in 1..-1..10 -> n|]
let f7 () = [|for n in 10..-1..1 -> n|]
let f8 () = [|for n in 10..-2..1 -> n|]
let f9 start = [|for n in start..10 -> n|]
let f10 finish = [|for n in 1..finish -> n|]
let f11 start finish = [|for n in start..finish -> n|]
let f12 start = [|for n in start..1..10 -> n|]
let f13 step = [|for n in 1..step..10 -> n|]
let f14 finish = [|for n in 1..1..finish -> n|]
let f15 start step = [|for n in start..step..10 -> n|]
let f16 start finish = [|for n in start..1..finish -> n|]
let f17 step finish = [|for n in 1..step..finish -> n|]
let f18 start step finish = [|for n in start..step..finish -> n|]
let f19 f = [|for n in f ()..10 -> n|]
let f20 f = [|for n in 1..f () -> n|]
let f21 f g = [|for n in f ()..g() -> n|]
let f22 f = [|for n in f ()..1..10 -> n|]
let f23 f = [|for n in 1..f ()..10 -> n|]
let f24 f = [|for n in 1..1..f () -> n|]
let f25 f g h = [|for n in f ()..g ()..h () -> n|]
let f26 start step finish = [|for n in start..step..finish -> n, float n|]
let f27 start step finish = [|for n in start..step..finish -> struct (n, float n)|]
let f28 start step finish = [|for n in start..step..finish -> let x = n + 1 in n * n|]
let f29 f g = [|let y = f () in let z = g () in for x in 1..2..10 -> x + y + z|]
let f30 f g = [|let y = f () in g (); for x in 1..2..10 -> x + y|]
let f31 f g = [|f (); g (); for x in 1..2..10 -> x|]
let f32 f g = [|f (); let y = g () in for x in 1..2..10 -> x + y|]