В Haskell ви можете зробити першу літеру рядка великою, використовуючи стандартну бібліотеку, без необхідності використання сторонніх бібліотек.
Історичний контекст.
У Haskell перетворення рядків на нижній регістр використовує модуль Data.Char, який надає функцію toLower для перетворення окремих символів.
Data.Char
toLower
| Як зробити: У Haskell видалення символів за шаблоном не має вбудованої функції, як у деяких інших мовах. Замість цього пишемо свої функції, як removeChar та removeChars. Функціональна природа Haskell заохочує до складання менших функцій у більш складні. removeChar і removeChars використовують рекурсію – типовий підхід у Haskell для ітерації. Альтернативи включають використання регулярних виразів з бібліотекою regex або вбудовані функції високого рівня, як filter (дія протилежна до видалення). Видалення за шаблном можна реалізувати і з більшою ефективністю, наприклад, використовуючи структури даних, оптимізовані для цього завдання, як перетворювачі рядків (string transformers).
removeChar
removeChars
regex
filter
У Haskell можна витягувати підрядки, використовуючи функції take, drop, splitAt та срізи списків.
take
drop
splitAt
Сама функція length в Haskell насправді проста, але вона не обмежується рядками ─ вона приймає будь-який список.
length
У Haskell інтерполяція рядків не є вбудованою, але можна використовувати бібліотеку text із шаблонними літералами.
text
У Haskell ми можемо створити функцію, яка видаляє всі лапки з заданого рядка.
Для регулярних виразів використовуємо Text.Regex.
Text.Regex
У Haskell функціональності регулярних виразів не є частиною стандартної бібліотеки, що потребує використання сторонніх пакетів, таких як regex-base разом зі сумісним backend, наприклад regex-posix (для підтримки POSIX регулярних виразів), regex-pcre (для сумісності з регулярними виразами Perl) тощо.
regex-base
regex-posix
regex-pcre