Haskell'de, Data.Char.isAlpha
işlevi, karakterin bir harf olup olmadığını denetler, ancak Data.Char.isLetter
yapar. Bu işlevler arasında gerçek bir fark var mı, yoksa değiştirilebilir mi?isAlpha ve isLetter arasındaki fark nedir?
8
A
cevap
8
sources görüntülerine eşdeğer görünüyorlar. 4.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
tanımlanan Ve definitionisAlpha
itibariyle Burada
isLetter
tanımıdır: görünürler
-- | 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
farklı uygulamaları var, ancak sahip oldukları için belgelenmiştir aynı etki.
6
şimdi gerçek bir fark yoktur. the docs Gönderen:
isAlpha :: Char -> Bool
alfabetik Unicode karakterleri (küçük harf, büyük harf ve başlık harfler, artı Kovansız komut ve düzenleyiciler harflerin harfleri) seçer. Bu işlev Data.Char.isLetter öğesine eşdeğerdir.