Мне было интересно, существует ли стандартная функция для объединения/объединения всех элементов из списка. Кажется, я не могу найти его.Combine listitems Haskell
Так, например:
combine["abc","def"] should result in ["abcdef"]
Мне было интересно, существует ли стандартная функция для объединения/объединения всех элементов из списка. Кажется, я не могу найти его.Combine listitems Haskell
Так, например:
combine["abc","def"] should result in ["abcdef"]
Let me Hoogle that for you ...
В целом, понятие "объединение", "объединение", захватывается Monoid
класса . Он имеет функцию mappend
для объединения двух значений и mconcat
для выравнивания всего списка.
На самом деле, Semigroup
достаточно ... при условии, что список не пуст.
Вы хотите включить foldl и foldr? – AndrewC
Я нашел ребята решения. Спасибо за помощь. replicate 1 (concat ["abc", "def"]) – Pidaji
@Pidaji: 'replicate 1' sure works, но не совсем точно. _Why_ вам нужен внешний список вообще, если он содержит только один элемент? Если у вас действительно есть веская причина, просто используйте '[concat [" abc "," def "]]'. (Или: '(: []) $ concat [" abc "," def "]' или 'return $ concat [" abc "," def "]'. – leftaroundabout
Вы хотите, чтобы он возвращал '[" abcdef "]' или '" abcdef "'? – bheklilr
То, что вы ищете, является concat. – karakfa