У меня есть этот код, который дает текст с целым числом в первой строке и строка целых чисел во второй строке читает его:
fun parse file =
let
(* A function to read an integer from specified input. *)
fun readInt input =
Option.valOf (TextIO.scanStream (Int.scan StringCvt.DEC) input)
(* Open input file. *)
val inStream = TextIO.openIn file
(* Read an integer (number of countries) and consume newline. *)
val n = readInt inStream
val _ = TextIO.inputLine inStream
(* A function to read N integers from the open file. *)
fun readInts 0 acc = acc (* Replace with 'rev acc' for proper order. *)
| readInts i acc = readInts (i - 1) (readInt inStream :: acc)
in
(n, readInts n [])
end
Однако у меня возникли проблемы с тестированием на моем ПК. Я использую компилятор SML / nj с официального сайта sml, и я тоже пытался использовать emacs. Я поместил текстовый файл с именем «file» в тот же каталог как файл .sml, но я не могу найти, как запустить этот код и вывести первое целое число, чтобы я мог видеть, как он работает. Пожалуйста, помогите.