Рассмотрим 2 списка: ["a","b","c"]
и ["a","b","c","d","e","f"]
Получить X первые элементы из списка
Я хочу, чтобы проверить, если первый список является началом другого списка я думал, что я мог бы использовать:
["a","b","c"] == head (splitAt (length ["a","b","c"]) ["a","b","c","d","e","f"])
К сожалению, это не сработает. Есть ли другой способ получить первые 3 элемента из списка в новом списке?
'принимать 3 [" a "," b "," c "," d "," e "," f "]'? Вы должны ознакомиться с Prelude http://hackage.haskell.org/package/base-4.7.0.1/docs/Prelude.html и использовать Hoogle http://www.haskell.org/hoogle/. Например, ваша функция может быть найдена jus, предоставив Hoogle следующие типы: '[a] -> [a]' (т. Е. Вы спросите Hoogle "дать мне функции, которые берут список элементов и возвращают список элементов") http: //www.haskell.org/hoogle/?hoogle=%5Ba%5D+-%3E+%5Ba%5D – seeg
Хорошо, я проверю это. Большое спасибо. –
ваш код будет работать, если вы просто использовали 'fst' вместо' head'. 'fst' берет первый элемент пары,' head' принимает элемент head из непустого списка. –