Advertisement
Guest User

Untitled

a guest
Feb 9th, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
F# 0.79 KB | None | 0 0
  1. open System
  2.  
  3. // val read_line : unit -> int option
  4. let read_line () =
  5.   let input =
  6.     Console.ReadLine ()
  7.   in
  8.     match Int32.TryParse input with
  9.     | (false, _) ->
  10.       None
  11.  
  12.     | (true, x) ->
  13.       Some x
  14.  
  15.  
  16. // val get_set_from_prompt : string -> int set
  17. let get_set_from_prompt prompt =
  18.   printfn "%s" prompt
  19.  
  20.   let rec loop xs =
  21.     match read_line () with
  22.     | None ->
  23.       xs
  24.  
  25.     | Some x ->
  26.       loop ( x :: xs )
  27.  
  28.   set <| loop []
  29.  
  30.  
  31. [<EntryPoint>]
  32. let main argv =
  33.   let set1 =
  34.     get_set_from_prompt "input numbers for set 1:"
  35.  
  36.   let set2 =
  37.     get_set_from_prompt "input numbers for set 2:"
  38.  
  39.   let output =
  40.     Set.union set1 set2
  41.  
  42.   printfn "output numbers (union of set 1 and set 2):"
  43.   printfn "%A" output
  44.   0 // return an integer exit code
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement