【问题标题】:where is the join function?连接功能在哪里?
【发布时间】:2011-04-03 15:14:14
【问题描述】:

我需要 join 函数在列表成员之间添加分隔符。我在 Data.List.Utils 和 Data.String.Utils 中找到了这个函数。不幸的是,这些模块似乎不是标准平台的一部分。
由于它是一个非常标准的功能,我很确定它应该在标准平台的某个地方,也许有其他名称。

有什么想法吗?

更新

我已经找到了解决办法(但是不能接受我的回答,我要等2天???)

【问题讨论】:

  • 注意join这个名字经常和monads一起使用。对于 List monad,joinconcat 相同:[[a]] -> [a]

标签: string list haskell


【解决方案1】:

我找到了(感谢 Hoogle),它叫 intercalate

【讨论】:

  • 哇。我继续编写自己的函数来做同样的事情。这是个好名字,但需要更好地宣传。
【解决方案2】:

Data.List 定义 intersperse 类型为 a -> [a] -> [a]intercalate 类型为 [a] -> [[a]] -> [a]

例如:
intersperse '_' "foo" 将给出"f_o_o"
intercalate "baa" ["f", "o", "o"] 将给出"fbaaobaaobaa"

【讨论】:

    猜你喜欢
    • 2018-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-29
    • 2011-07-13
    • 1970-01-01
    • 2013-08-29
    相关资源
    最近更新 更多