Определите репликацию функции, которая задает список чисел, возвращает список , при этом каждый номер дублирует его значение. Используйте складку, карту, и принятьКак решить эту проблему Haskell, используя карту сгиба и взять?
..> реплицировать [5,1,3,2,8,1,2]
выход: [5,5,5,5,5,1, 3,3,3,2,2,8,8,8,8,8,8,8,8,1,2,2]
Я понял это с использованием понимания и рекурсии списка:
replicate2 [] = []
replicate2 (n:nn) = take n(repeat n) ++ replicate2 nn
но как бы вы использовали склад и карту для этого? до сих пор у меня есть: повторить п = отображение (foldl1 (взять п (повтор п)) п) п , который, очевидно, неправильно, но я думаю, что я близко ..
так что любая помощь будет хорошо, спасибо!
Ничего себе - все четыре вопроса начинаются «Как вы решаете это» и все домашнее задание. Пожалуйста, приложите больше усилий для понимания проблемы и задайте вопрос подмножества, который разъяснит ваше понимание более широкого аспекта (Haskell). –
alrite, я отвечу на ваш совет. спасибо –
, вы можете подумать о добавлении тега «do-my-homework-you-suckers». люди на SO - хорошие люди, которые любят помогать. но они не любят тратить больше усилий на ваши проблемы, чем вы готовы потратить на них самостоятельно – yairchu