【发布时间】:2017-03-21 10:42:40
【问题描述】:
所以我正在尝试编写一些最小的代码来将两个字符串列表放在一起,为此我认为最好使用haskell map 函数。
基本上我希望能够做加法器 ["1","2"] ["3","4"] = ["1","2","3","4"]
所以我有一个名为 adder 的函数,它接受一个列表,然后将一个字符串添加到该列表并返回新列表。然后我有一个名为 adders 的函数,它复制了 adder 函数,但是添加了一个字符串列表而不是一个字符串,但是目前它产生了多个列表而不是一个列表。
我以为
adder :: [String] -> String -> [String]
adder y x = y ++ [x]
adders y x = map (adder y) x
会起作用,但这只是给出了两个列表的列表 [["1","2","3"],[["1","2","4"]]
最好的方法是什么?
【问题讨论】:
-
能否正确格式化您的帖子?
adders应该怎么做?你希望adder做什么?为什么不使用adders y x = y ++ x? -
["1","2"] ["3","4"] = ["1","2","3","4"]的类型为[String] -> [String] -> [String] -
@Zeta 最后一点是我想要达到的,抱歉我没有意识到我能做到。
-
...为什么,如果您仍然使用标准运算符
++,您甚至定义adders吗?无论您在哪里使用adders,您都可以直接调用++。或者,您可以定义adders = (++)。 ——你可能想问如何定义这个没有库操作符,仅根据普通列表构造函数(:)?
标签: list haskell dictionary