Композиция функций (язык Хаскеля)
У меня есть слово 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
технически вы можете просто использовать (++)
сам по себе