我正在寻找一个相当于在
Ruby中的haskell instersperse函数.基本上在列表的每个元素之间添加一些东西(如分隔符).
intersperse(nil,[1,2,3]) => [1,nil,3,4].
我不是要求任何代码(我可以这样做,我可能会在阅读这个问题之前做到这一点).我只是想知道一个这样的功能是否已经存在于标准的Ruby平台上.
更新
我不是要求任何代码,特别是使用扁平的代码,因为这样做不起作用(扁平化不仅仅是一个层次,而是全部).
我给出了例子[1,3]的例子,但它应该适用
[[1,2],[3,4]].interperse("hello") => [[1,"hello",4]]
(请不要给我发任何代码,让它工作,我已经有了
class Array def intersperse(separator) (inject([]) { |a,v| a+[v,separator] })[0...-1] end end
)
解决方法
没有