在Haskell中,函数Data.Char.isAlpha检查字符是否为字母,但也是如此Data.Char.isLetter.这些功能之间是否有任何真正的区别,或者它们是否可以互换?
看看他们看起来相同的来源.
这是isLetter4.3.1.0中定义的定义
-- derived character classifiers
-- | Selects alphabetic Unicode characters (lower-case, upper-case and
-- title-case letters, plus letters of caseless scripts and modifiers letters).
-- This function is equivalent to 'Data.Char.isAlpha'.
isLetter :: Char -> Bool
isLetter c = case generalCategory c of
UppercaseLetter -> True
LowercaseLetter -> True
TitlecaseLetter -> True
ModifierLetter -> True
OtherLetter -> True
_ -> False
Run Code Online (Sandbox Code Playgroud)
而定义的isAlpha:
-- | Selects alphabetic Unicode characters (lower-case, upper-case and
-- title-case letters, plus letters of caseless scripts and modifiers letters).
-- This function is equivalent to 'Data.Char.isLetter'.
isAlpha :: Char -> Bool
isAlpha c = iswalpha (fromIntegral (ord c)) /= 0
Run Code Online (Sandbox Code Playgroud)
它们似乎有不同的实现,但它们被记录为具有相同的效果.
| 归档时间: |
|
| 查看次数: |
4770 次 |
| 最近记录: |