Spec-Zone.ru › Haskell 8

GHC.Unicode

Авторские права (c) Университет Глазго 2003
Лицензия см. libraries/base/LICENSE
Поддерживающий cvs-ghc@haskell.org
Стабильность внутренняя
Переносимость непереносимая (расширения GHC)
Safe Haskell Достоверный
Язык Haskell2010

Описание

Реализации предикатных функций для символов (isLower, isUpper и т.д.) и преобразований (toUpper, toLower). Реализация использует libunicode на Unix-системах, если она доступна.

тип GeneralCategory Источник

Категории Unicode General (столбец 2 таблицы UnicodeData) в порядке их перечисления в стандарте Unicode (в частности, в базе данных символов Unicode).

Примеры
Развернуть

Основное использование:

>>> :t OtherLetter
OtherLetter :: GeneralCategory

Eq пример:

>>> UppercaseLetter == UppercaseLetter
True
>>> UppercaseLetter == LowercaseLetter
False

Ord пример:

>>> NonSpacingMark <= MathSymbol
True

Enum пример:

>>> enumFromTo ModifierLetter SpacingCombiningMark
[ModifierLetter,OtherLetter,NonSpacingMark,SpacingCombiningMark]

Read пример:

>>> read "DashPunctuation" :: GeneralCategory
DashPunctuation
>>> read "17" :: GeneralCategory
*** Exception: Prelude.read: no parse

Show пример:

>>> show EnclosingMark
"EnclosingMark"

Bounded пример:

>>> minBound :: GeneralCategory
UppercaseLetter
>>> maxBound :: GeneralCategory
NotAssigned

Ix пример:

>>> import Data.Ix ( index )
>>> index (OtherLetter,Control) FinalQuote
12
>>> index (OtherLetter,Control) Format
*** Exception: Error in array index

Конструкторы

UppercaseLetter

Lu: Буква, заглавная

LowercaseLetter

Ll: Буква, строчная

TitlecaseLetter

Lt: Буква, прописная

ModifierLetter

Lm: Буква, модификатор

OtherLetter

Lo: Другая буква

NonSpacingMark

Mn: Знак, без пробела

SpacingCombiningMark

Mc: Знак, со пробелом

EnclosingMark

Me: Охватывающий знак

DecimalNumber

Nd: Десятичное число

LetterNumber

Nl: Буква-число

OtherNumber

No: Другое число

ConnectorPunctuation

Pc: Разделительный знак

DashPunctuation

Pd: Знак дефиса

OpenPunctuation

Ps: Открывающий знак

ClosePunctuation

Pe: Закрыващий знак

InitialQuote

Pi: Знак кавычки (начало)

FinalQuote

Pf: Знак кавычки (конец)

OtherPunctuation

Po: Другой знак пунктуации

MathSymbol

Sm: Математический символ

CurrencySymbol

Sc: Символ валюты

ModifierSymbol

Sk: Символ-модификатор

OtherSymbol

So: Другой символ

Space

Zs: Пробел

LineSeparator

Zl: Разделитель строк

ParagraphSeparator

Zp: Разделитель абзацев

Control

Cc: Управляющий символ

Format

Cf: Символ форматирования

Surrogate

Cs: Замещающий символ

PrivateUse

Co: Символ частного использования

NotAssigned

Cn: Символ без присвоения

Примеры использования
Подробности экземпляров
Bounded GeneralCategory

С момента: base-2.1

Подробности экземпляра

Определено в GHC.Unicode

Методы

minBound :: GeneralCategory Источник

maxBound :: GeneralCategory Источник

Enum GeneralCategory

С момента: base-2.1

Подробности экземпляра

Определено в GHC.Unicode

Методы

succ :: GeneralCategory -> GeneralCategory Источник

pred :: GeneralCategory -> GeneralCategory Источник

toEnum :: Int -> GeneralCategory Источник

fromEnum :: GeneralCategory -> Int Источник

enumFrom :: GeneralCategory -> [GeneralCategory] Источник

enumFromThen :: GeneralCategory -> GeneralCategory -> [GeneralCategory] Источник

enumFromTo :: GeneralCategory -> GeneralCategory -> [GeneralCategory] Источник

enumFromThenTo :: GeneralCategory -> GeneralCategory -> GeneralCategory -> [GeneralCategory] Источник

Eq GeneralCategory

С момента: base-2.1

Подробности экземпляра

Определено в GHC.Unicode

Методы

(==) :: GeneralCategory -> GeneralCategory -> Bool Источник

(/=) :: GeneralCategory -> GeneralCategory -> Bool Источник

Ord GeneralCategory

С момента: base-2.1

Подробности экземпляра

Определено в GHC.Unicode

Методы

compare :: GeneralCategory -> GeneralCategory -> Ordering Источник

(<) :: GeneralCategory -> GeneralCategory -> Bool Источник

(<=) :: GeneralCategory -> GeneralCategory -> Bool Источник

(>) :: GeneralCategory -> GeneralCategory -> Bool Источник

(>=) :: GeneralCategory -> GeneralCategory -> Bool Источник

max :: GeneralCategory -> GeneralCategory -> GeneralCategory Источник

min :: GeneralCategory -> GeneralCategory -> GeneralCategory Источник

Read GeneralCategory

С момента: base-2.1

Подробности экземпляра

Определено в GHC.Read

Методы

readsPrec :: Int -> ReadS GeneralCategory Источник

readList :: ReadS [GeneralCategory] Источник

readPrec :: ReadPrec GeneralCategory Источник

readListPrec :: ReadPrec [GeneralCategory] Источник

Show GeneralCategory

Since: base-2.1

Подробности экземпляра

Определено в GHC.Unicode

Методы

showsPrec :: Int -> GeneralCategory -> ShowS Исходный код

show :: GeneralCategory -> String Исходный код

showList :: [GeneralCategory] -> ShowS Исходный код

Ix GeneralCategory

Since: base-2.1

Подробности экземпляра

Определено в GHC.Unicode

Методы

range :: (GeneralCategory, GeneralCategory) -> [GeneralCategory] Исходный код

index :: (GeneralCategory, GeneralCategory) -> GeneralCategory -> Int Исходный код

unsafeIndex :: (GeneralCategory, GeneralCategory) -> GeneralCategory -> Int Исходный код

inRange :: (GeneralCategory, GeneralCategory) -> GeneralCategory -> Bool Исходный код

rangeSize :: (GeneralCategory, GeneralCategory) -> Int Исходный код

unsafeRangeSize :: (GeneralCategory, GeneralCategory) -> Int Исходный код

generalCategory :: Char -> GeneralCategory Исходный код

Общая категория символа Юникода. Это зависит от экземпляра Enum GeneralCategory, который должен оставаться в том же порядке, что и категории в стандарте Юникода.

Примеры
Развернуть

Базовое использование:

>>> generalCategory 'a'
LowercaseLetter
>>> generalCategory 'A'
UppercaseLetter
>>> generalCategory '0'
DecimalNumber
>>> generalCategory '%'
OtherPunctuation
>>> generalCategory '♥'
OtherSymbol
>>> generalCategory '\31'
Control
>>> generalCategory ' '
Space

isAscii :: Char -> Bool Исходный код

Выбирает первые 128 символов набора символов Юникода, соответствующего набору символов ASCII.

isLatin1 :: Char -> Bool Исходный код

Выбирает первые 256 символов набора символов Юникода, соответствующего набору символов ISO 8859-1 (Latin-1).

isControl :: Char -> Bool Исходный код

Выбирает управляющие символы, которые являются непечатаемыми символами подмножества Latin-1 Юникода.

isAsciiUpper :: Char -> Bool Исходный код

Выбирает заглавные буквы ASCII, т.е. символы, удовлетворяющие как isAscii, так и isUpper.

isAsciiLower :: Char -> Bool Исходный код

Выбирает строчные буквы ASCII, т.е. символы, удовлетворяющие как isAscii, так и isLower.

isPrint :: Char -> Bool Исходный код

Выбирает печатаемые символы Юникода (буквы, цифры, знаки, знаки препинания, символы и пробелы).

isSpace :: Char -> Bool Исходный код

Возвращает значение True для любого символа пробела Юникода, и управляющие символы \t, \n, \r, \f, \v.

isUpper :: Char -> Bool Исходный код

Выбирает заглавные или строчные буквенные символы Юникода (буквы). Строчные буквы используются небольшим количеством лигатур букв, таких как односимвольная форма Lj.

isLower :: Char -> Bool Исходный код

Выбирает строчные буквенные символы Юникода (буквы).

isAlpha :: Char -> Bool Исходный код

Выбирает буквенные символы Юникода (строчные, заглавные и прописные буквы, а также буквы без учета регистра и модификаторные буквы). Эта функция эквивалентна isLetter.

isDigit :: Char -> Bool Исходный код

Выбирает цифры ASCII, т.е. '0'..'9'.

isOctDigit :: Char -> Bool Исходный код

Выбирает восьмеричные цифры ASCII, т.е. '0'..'7'.

isHexDigit :: Char -> Bool Исходный код

Выбирает шестнадцатеричные цифры ASCII, т.е. '0'..'9', 'a'..'f', 'A'..'F'.

isAlphaNum :: Char -> Bool Source

Выбирает буквенно-цифровые символы Юникода.

Обратите внимание, что числовые цифры за пределами диапазона ASCII, а также числовые символы, которые не являются цифрами, выбираются этой функцией, но не isDigit. Такие символы могут быть частью идентификаторов, но не используются принтером и читателем для представления чисел.

isPunctuation :: Char -> Bool Source

Выбирает знаки препинания Юникода, включая различные виды соединителей, скобок и кавычек.

Эта функция возвращает True если её аргумент имеет один из следующих GeneralCategoryов, или False в противном случае:

  • ConnectorPunctuation
  • DashPunctuation
  • OpenPunctuation
  • ClosePunctuation
  • InitialQuote
  • FinalQuote
  • OtherPunctuation

Эти классы определены в Базе данных символов Юникода, которая является частью стандарта Юникода. Тот же документ определяет, что такое и что не является "знаком препинания".

Примеры
Развернуть

Базовое использование:

>>> isPunctuation 'a'
False
>>> isPunctuation '7'
False
>>> isPunctuation '♥'
False
>>> isPunctuation '"'
True
>>> isPunctuation '?'
True
>>> isPunctuation '—'
True

isSymbol :: Char -> Bool Source

Выбирает символы Юникода, включая математические и валютные символы.

Эта функция возвращает True если её аргумент имеет один из следующих GeneralCategoryов, или False в противном случае:

  • MathSymbol
  • CurrencySymbol
  • ModifierSymbol
  • OtherSymbol

Эти классы определены в Базе данных символов Юникода, которая является частью стандарта Юникода. Тот же документ определяет, что такое и что не является "символом".

Примеры
Развернуть

Базовое использование:

>>> isSymbol 'a'
False
>>> isSymbol '6'
False
>>> isSymbol '='
True

Определение "математического символа" может быть немного неинтуитивным в зависимости от вашего опыта:

>>> isSymbol '+'
True
>>> isSymbol '-'
False

toUpper :: Char -> Char Source

Преобразует букву в соответствующую заглавную букву, если она есть. Любой другой символ возвращается без изменений.

toLower :: Char -> Char Source

Преобразует букву в соответствующую строчную букву, если она есть. Любой другой символ возвращается без изменений.

toTitle :: Char -> Char Source

Преобразует букву в соответствующую заглавную или прописную букву, если она есть. (Заглавная буква отличается от прописной только для небольшого числа лигатурных букв.) Любой другой символ возвращается без изменений.

wgencat :: Int -> Int Source

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/8.10.2/docs/html/libraries/base-4.14.1.0/GHC-Unicode.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API