Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //below line read all lines until eof reach
- let lines = Seq.initInfinite (fun _ -> System.Console.In.ReadLine()) |> Seq.takeWhile(fun line -> line <> null)
- //below code read all lines and parse as int and print
- Seq.initInfinite (fun _ -> System.Console.In.ReadLine()) |> Seq.takeWhile(fun line -> line <> null) |> Seq.map(fun v -> System.Int32.Parse(v)) |> Seq.iter(fun v -> printfn "%i" v)
- //iter, iteri, iter2
- let seq1 = [1; 2; 3]
- let seq2 = [4; 5; 6]
- Seq.iter (fun x -> printfn "Seq.iter: element is %d" x) seq1
- Seq.iteri(fun i x -> printfn "Seq.iteri: element %d is %d" i x) seq1
- Seq.iter2 (fun x y -> printfn "Seq.iter2: elements are %d %d" x y) seq1 seq2
- //output
- //Seq.iter: element is 1
- //Seq.iter: element is 2
- //Seq.iter: element is 3
- //Seq.iteri: element 0 is 1
- //Seq.iteri: element 1 is 2
- //Seq.iteri: element 2 is 3
- //Seq.iter2: elements are 1 4
- //Seq.iter2: elements are 2 5
- //Seq.iter2: elements are 3 6
- // As Seq.filter but provide i as a parameter to the filter function.
- let filteri f s =
- s
- |> Seq.mapi (fun i elem -> i, elem)
- |> Seq.filter (fun (i, elem) -> f i elem)
- |> Seq.map (fun (_, elem) -> elem)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement