可能重复:
在 ML(SMLNJ) 中打开文件
我有一个字符串值,其值如下:
"[(1,2,3),(2,3),(6,8)]" -> string
但我想将这些值设为 int 类型,如下所示:
[(1,2,3),(2,3),(6,8)] -> (int list) list
我该怎么办?有什么功能可以帮助我吗?还是我必须自己做?
可能重复:
在 ML(SMLNJ) 中打开文件
我有一个字符串值,其值如下:
"[(1,2,3),(2,3),(6,8)]" -> string
但我想将这些值设为 int 类型,如下所示:
[(1,2,3),(2,3),(6,8)] -> (int list) list
我该怎么办?有什么功能可以帮助我吗?还是我必须自己做?
这个问题非常适合解析组合子,你可以从我在哈佛的朋友 Greg Morrisett 那里偷来。
如果您想了解基本思想,请阅读 Graham Hutton 的论文Higher-Order Functions for Parsing。如果您想知道如何在标准 ML 中实现 I/O,请查阅标准基础库中的TextIO
模块。如果您希望有人为您编写代码,您可能访问了错误的网站。
您可以stringint
从String
模块中使用。参见例如http://wwwcgi.rdg.ac.uk:8081/cgi-bin/cgiwrap/wsi14/poplog/ml/help/string#Character%20Transformation%20Functions