Композиция функций (язык Хаскеля)

У меня есть слово bar которая содержит строку "Helium" и слово baz которая содержит строку "lol",

Я пытался использовать:

takeCharacters (3) bar (takeCharacters (2) baz)

чтобы получить строку "Hello" но это не работает (я должен использовать композицию функций), может кто-нибудь помочь мне, пожалуйста!!!!

1 ответ

Одним из решений может быть:

bar = take 3 "Helium"
baz = take 2 "lol"

combine :: [a] -> [a] -> [a]
combine = (++) . (id)

мы используем (.) :: (b -> c) -> (a -> b) -> a -> c который является функцией композиции и id :: a -> a

технически вы можете просто использовать (++) сам по себе

Другие вопросы по тегам