【发布时间】:2013-07-09 02:55:41
【问题描述】:
我正在从 Java 到 Haskell 朝圣。从广义上讲,我了解了 Haskell 背后的主要概念。阅读所有的教程和书籍“很有意义”,但我被困在从头开始编写自己的代码。
我想在文件系统上创建 1000 个文件名
"myfile_1.txt" ... "myfile_1000.txt"
每个都包含一些虚拟文本。
到目前为止,我已经解决了整个 IO 问题,并意识到我需要构建一个包含 1000 个元素的字符串列表。所以我有:
buildNamesList :: [] -> []
buildNamesList ???
一旦我有了 List,我就可以在每个元素上调用 writefile 方法。我想不通的是如何在字符串的末尾添加一个数字来获取每个文件名,因为我不能在 Haskell 中有一个 int i = 0, i ++ 构造。
我在这里有点不了解,希望得到一些指导,谢谢
【问题讨论】:
-
[] -> []?这没有任何意义,[]不是类型而是类型构造函数。你的意思可能是[a]->[a],但这也不对。 — 一般来说,在我看来,您不了解 Haskell 背后的主要概念。你不想“建立”一个列表,你只需定义它。您不会“在每个元素上调用 writefile 方法”,而是遍历一个列表(例如使用mapM_)。你也不是真的“在字符串的末尾添加一些东西”,而是定义一个新的后缀字符串——尽管实际上,我们称之为添加到末尾。 -
谢谢,这是我不明白的一点。现在我有了这个字符串列表,然后我该如何遍历它,在元素 n 处提取字符串,然后将其传递给另一个函数?
标签: haskell