ΠΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Unicode ΡΠΌ. Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ http://www.fileformat.info/info/unicode/category/index.htm .
Haskell ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΠΈΠΏ Β«GeneralCategoryΒ» ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Β«GeneralCategoryΒ» ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ°.
ΠΡ
ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π― ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠΊΡΠΈΠΏΡ Π½Π° Python, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅.
ΠΠ°Π»ΠΈΡΠΈΠ΅ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Rust ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ Β«charΒ». Π‘ΠΌ. http://haskell.org/ghc/docs/6.12.2/html/libraries/base-4.2.0.1/src/Data-Char.html .
Π Π½Π΅Π·Π°Π²Π΅ΡΡΠ΅Π½Π½ΠΎΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«unicode::Β» Π² libstd Ρ ΡΠΎΠ±ΠΈΡΠ°Π»ΡΡ Π½Π°Π±ΡΠΎΡΠ°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ libicu. Π Π΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠ΅ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΊΠ»Π°ΡΡΠΎΠ² ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ΅ΠΉ, ΠΈ ICU Ρ ΠΎΡΠΎΡΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ ΡΡΠΈΠΌ. ΠΡΠΌΠ°Ρ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ ΠΏΠΎΠ΄ core::char, Π΅ΡΠ»ΠΈ Π²ΡΠ΅ ΡΠΎΠ³Π»Π°ΡΠ½Ρ Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΡ ΠΎΡ libicu?
libicu ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π½Π° Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ² (Python ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΅Π³ΠΎ, ΡΠ°ΠΊ ΡΡΠΎ Π΄Π»Ρ Π½Π°Ρ ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠΉΡΠΈ).
Π₯ΠΎΡΠΈΠΌ Π»ΠΈ ΠΌΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ libicu ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ
Π²Π½ΡΡΡΠΈ Π² ΡΠ°ΠΊΠΈΡ
ΠΌΠΎΠ΄ΡΠ»ΡΡ
, ΠΊΠ°ΠΊ Β«charΒ», Β«strΒ» ΠΈ Ρ. Π΄.?
Π― ΡΠΊΠ»ΠΎΠ½ΡΡΡΡ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌΡ.
Π§ΡΠΎΠ±Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π² Β«charΒ» Rust Ρ ΠΏΠΎΠΌΠΎΡΡΡ libicu, Ρ Π΄ΡΠΌΠ°Ρ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠ°ΠΊ Β«u_isspace()Β», Β«u_isdigit()Β», Β«u_forDigit()Β» (http://icu-project.org/ apiref/icu4c/uchar_8h.html).
ΠΠ°ΠΌ ΠΏΠΎΠΊΠ° Π½Π΅ Π½ΡΠΆΠ½Ρ ΠΏΠΎΠ»Π½ΡΠ΅ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ libicu (Π²ΠΊΠ»ΡΡΠ°Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ).
Π― Π΄ΡΠΌΠ°Ρ, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠΉΡΠΈ ΠΏΠΎ ΠΏΡΡΠΈ Π»ΠΈΠ±ΠΈΠΊΡ. Π‘ΠΌ. β 1370
ΠΠΎΠΆΠ΅ΠΌ Π»ΠΈ ΠΌΡ ΡΠ½ΠΎΠ²Π° ΠΎΡΠΊΡΡΡΡ ΡΡΠΎ? ΠΡ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌ ΠΎΡ libicu, Π½ΠΎ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ Π½Π΅Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° Π½Π°ΠΉΡΠΈ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ°.
ΠΠ·Π²ΠΈΠ½ΠΈΡΠ΅, ΡΡΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΡ ΡΡΠΎΠ»Ρ ΡΡΠ°ΡΡΡ Π²Π΅ΡΠΊΡ, Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ UCD (v9.0.0) Π·Π΄Π΅ΡΡ . ΠΠ½ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ Π½ΠΈ ΠΎΡ libicu, Π½ΠΈ ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ, Π½Π°Π΄Π΅ΡΡΡ, Π΅Π³ΠΎ Π±ΡΠ΄Π΅Ρ Π»Π΅Π³ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ (Ρ ΠΎΡΡ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΠΎΠ½ Π½Π΅ ΡΠ°ΠΊ Π½Π°Π΄Π΅ΠΆΠ΅Π½, ΠΊΠ°ΠΊ ICU).
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΠ·Π²ΠΈΠ½ΠΈΡΠ΅, ΡΡΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΡ ΡΡΠΎΠ»Ρ ΡΡΠ°ΡΡΡ Π²Π΅ΡΠΊΡ, Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ UCD (v9.0.0) Π·Π΄Π΅ΡΡ . ΠΠ½ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ Π½ΠΈ ΠΎΡ libicu, Π½ΠΈ ΠΎΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ, Π½Π°Π΄Π΅ΡΡΡ, Π΅Π³ΠΎ Π±ΡΠ΄Π΅Ρ Π»Π΅Π³ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ (Ρ ΠΎΡΡ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΠΎΠ½ Π½Π΅ ΡΠ°ΠΊ Π½Π°Π΄Π΅ΠΆΠ΅Π½, ΠΊΠ°ΠΊ ICU).