从文本文件读取输入

时间:2019-04-20 19:04:13

标签: sml smlnj

我有这段代码,在第一行中给出一个带有整数的文本,在第二行中给出一个整数字符串,以读取它:

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

但是,我在自己的PC上无法对其进行测试。我使用的是官方sml站点上的SML / nj编译器,我也尝试过使用emacs。我已将名称为“ file”的文本文件放在同一目录中作为.sml文件,但我找不到如何运行此代码并打印第一个整数,以便可以看到它的工作原理。请帮忙。

0 个答案:

没有答案