首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以ML格式打开文件(SMLNJ)

以ML格式打开文件(SMLNJ)
EN

Stack Overflow用户
提问于 2010-01-30 21:39:41
回答 2查看 9.3K关注 0票数 0

我需要读取ML (SLMNJ)格式的文件,并将其保存在一些结构中。我需要读取一些指向图形声明的数据:

代码语言:javascript
复制
[( 1 , 2 , 13 ),( 2 , 3 , 3 ),( 2 , 4 , 8 ),( 2 , 5 , 4 ),( 3 , 1 , 5 ),( 3 , 4 , 1 ),( 4 , 6 , 5 ),( 5 , 5 , 5 ),( 6 , 4 , 6 )]

(第一个数字:节点名称,第二个数字:已连接节点的名称,第三个数字权重为该mane (每个()显示一个mane ))

对于expamle,这是测试输入,如何读取文件以及保存文件的结构

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-02-06 17:12:01

要从文件中读取,请遵循以下内容,即每行字符串的列表:

代码语言:javascript
复制
val infile = "c:/input.txt" ;

fun readlist (infile : string) = let 

  val ins = TextIO.openIn infile 

  fun loop ins = 

   case TextIO.inputLine ins of 

      SOME line => line :: loop ins 

    | NONE      => [] 

in 

  loop ins before TextIO.closeIn ins 

end ;

val pureGraph =  readlist(infile);

使用此函数,您可以将其解析为元组(x,y,z):

代码语言:javascript
复制
fun creatGraph([],reList) = reList

|creatGraph(x::y::z::input,reList) =  creatGraph(input,reList@[(x,y,z)]);
票数 8
EN

Stack Overflow用户

发布于 2010-02-01 11:03:42

这个问题非常适合解析组合符,您可以使用steal from my friend Greg Morrisett at Harvard

如果你想理解其中的基本思想,请阅读Graham Hutton的论文。如果您想知道如何在标准ML中实现I/O,请参考Standard Basis Library中的TextIO module。如果您希望有人为您编写代码,您可能访问了错误的网站。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2168029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档