/ / Odczyt numerów oddzielonych spacjami w OCaml - ocaml

Odczytywanie liczb oddzielonych spacjami w OCaml - ocaml

Jaki jest najprostszy sposób, aby przeczytać kilkaliczby całkowite ze stdin oddzielone spacjami? W tym przypadku wiem, ile ich jest, chociaż nieznany przypadek odpowiadający chwili (std :: cin >> n) {a.push_back (n); } w C ++ byłoby miło wiedzieć.

Odpowiedzi:

3 dla odpowiedzi № 1

Możesz spróbować Scanf moduł. Zobacz jego dokumentację tutaj.

let get_ints queue =
let aux () =
Scanf.scanf "%d " (fun n -> Queue.push n queue); aux ()
in
try aux () with _ -> ()

Inny standardowy sposób pozwala to zrobić, możesz rzucić okiem ocamllex, Str lub Genlex. Oczywiście w OCaml istnieją inne biblioteki leksykalno-parsujące, ale to byłaby debata, który z nich jest najlepszy.