Rust: Β«charΒ»: Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ символов Unicode.

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 20 Π΄Π΅ΠΊ. 2011  Β·  6ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: rust-lang/rust

ΠšΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ символов 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 .

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π˜Π·Π²ΠΈΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΡŽ ΡΡ‚ΠΎΠ»ΡŒ ΡΡ‚Π°Ρ€ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ, Π½Π° самом Π΄Π΅Π»Π΅ я Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ UCD (v9.0.0) здСсь . Он Π½Π΅ зависит Π½ΠΈ ΠΎΡ‚ libicu, Π½ΠΈ ΠΎΡ‚ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, поэтому, надСюсь, Π΅Π³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π»Π΅Π³ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… (хотя, вСроятно, ΠΎΠ½ Π½Π΅ Ρ‚Π°ΠΊ Π½Π°Π΄Π΅ΠΆΠ΅Π½, ΠΊΠ°ΠΊ ICU).

ВсС 6 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’ Π½Π΅Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«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).

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ