我想知道,如果这个
alph = ['a'..'z']
Run Code Online (Sandbox Code Playgroud)
回报我
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
那怎么能返回法语字母呢?我可以以某种方式传递一个区域设置吗?
更新: 嗯)我知道英语和法语有相同的字母.但我的观点是,如果它们不一样,但以A开头,以Z结尾.很高兴有人类语言范围的支持.
至少有些语言带有本地化支持.
(只是尝试Haskell,读一本书)
n. *_* m. 15
Haskell Char值不是真正的字符,它们是Unicode代码点.在其他一些语言中,它们的原生字符类型可能代表其他东西,如ASCII字符或"代码页whatsitsnumber"字符,甚至可以在运行时选择,但在Haskell中不能.
由于'a'..'z'历史原因,范围与英文字母一致,包括Unicode和ASCII,以及从ASCII派生的字符集,如ISO8859-X.没有通常支持的编码字符集,其中一些连续的代码范围与法语字母表一致.也就是说,如果你用变音符号作为单独的字母来计算字母.公认的做法似乎排除了带有变音符号的字母,因此法语字母与英语一致,但对于其他拉丁语衍生的字母表则不然.
为了获得除英语以外的大多数字母表,需要手动明确枚举字符而不是任何范围表达式.对于某些语言,甚至不能用于Char表示所有字母,因为其中一些字母需要多个代码点,例如匈牙利语"ly"或西班牙语"ll"(2010年之前)或荷兰语"ij"(根据某些权威机构 - 有没有人普遍接受的定义).
我所知道的语言不支持任意人字母作为开箱即用的范围表达.