-1

我是一个学习sml的新手,给我的问题涉及到我不理解的IO功能。这是我真正需要帮助才能开始的 2 个问题,请向我提供代码和一些解释,我将能够对其他问题给出的代码进行反复试验。

Q2) readlist(filename) 读取文件名列表(每个文件名由 (Q1) 中的 listdir 生成,并将它们组合成一个大列表。(从 Q1 中的文本文件读取,然后将内容分配到 1 个包含所有信息)

问题是,我只在介绍部分从学校的讲师那里学到,甚至没有显示系统输入或输出示例,甚至没有教授“使用文件”功能。如果知道 sml 的人看到这个,请帮忙。感谢任何努力帮助我的人。

感谢您的回复,目前我正在使用 SMLNJ 尝试执行此操作。基本上,Q1 要求我将提供的“目录名”的目录文件列出到“文件名”中的文本文件中。Q2 要求我从“文件名”文本文件中读取,然后将内容放入一个大列表中。

顺便说一句,如果你们只看到这篇文章,也请尝试提问。目前我被困在试图从 txt 文件中读取并将其附加到一个列表中,我可以为单行执行此操作,但现在我正在尝试为整个文件执行此操作:

fun readlist(infile : string) =
let val ins = TextIO.openIn infile

fun listing() = 
TextIO.inputLine ins;

in listing()
end;
TextIO.closeIn;
4

2 回答 2

1

你确定我没教你?你欠我一个鸡肉馅饼。

于 2009-03-25T04:55:19.820 回答
1

我很难弄清楚你想问什么问题。

您询问的函数不是 ML 标准基础库的一部分。如果您应该编写它们,那么如果没有某种 Posix 模块,您将很难过。你可以告诉你的导师我不关心这个作业。

莫斯科 ML 包含一个listDir非常简单的函数:

- load "Mosml";
> val it = () : unit
- Mosml.listDir ".";
> val it = ["natural-semantics.djvu", "natural-semantics.pdf"] : string list
- 

要获得更多帮助,请更清楚您的要求。


编辑:因为这是一个家庭作业问题,我不应该只给你答案,而是一些有用的功能包括openDir,readDircloseDirfrom the OS.Filesysstructure。这些将告诉您目录中的内容。然后读取和写入您想要的文件TextIO

您会发现标准基础库文档必不可少。

于 2009-03-23T02:41:09.097 回答