Advertisement
Guest User

Untitled

a guest
May 26th, 2015
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.12 KB | None | 0 0
  1. //below line read all lines until eof reach
  2. let lines = Seq.initInfinite (fun _ -> System.Console.In.ReadLine()) |> Seq.takeWhile(fun line -> line <> null)
  3.  
  4. //below code read all lines and parse as int and print
  5. 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)
  6.  
  7. //iter, iteri, iter2
  8. let seq1 = [1; 2; 3]
  9. let seq2 = [4; 5; 6]
  10. Seq.iter (fun x -> printfn "Seq.iter: element is %d" x) seq1
  11. Seq.iteri(fun i x -> printfn "Seq.iteri: element %d is %d" i x) seq1
  12. Seq.iter2 (fun x y -> printfn "Seq.iter2: elements are %d %d" x y) seq1 seq2
  13. //output
  14. //Seq.iter: element is 1
  15. //Seq.iter: element is 2
  16. //Seq.iter: element is 3
  17. //Seq.iteri: element 0 is 1
  18. //Seq.iteri: element 1 is 2
  19. //Seq.iteri: element 2 is 3
  20. //Seq.iter2: elements are 1 4
  21. //Seq.iter2: elements are 2 5
  22. //Seq.iter2: elements are 3 6
  23.  
  24.  
  25. // As Seq.filter but provide i as a parameter to the filter function.
  26. let filteri f s =
  27. s
  28. |> Seq.mapi (fun i elem -> i, elem)
  29. |> Seq.filter (fun (i, elem) -> f i elem)
  30. |> Seq.map (fun (_, elem) -> elem)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement