Rust: "char": agregue un tipo y una función para las categorías de caracteres Unicode

Creado en 20 dic. 2011  ·  6Comentarios  ·  Fuente: rust-lang/rust

Para las categorías de caracteres Unicode, consulte http://www.fileformat.info/info/unicode/category/index.htm

Haskell implementa el tipo "Categoría general" y una función para determinar la "Categoría general" de un personaje.
Su implementación es así:

Propongo escribir un script de Python, que hace algo similar.

Tener tal tipo y función en Rust nos permite implementar funciones correctamente en el módulo "char". Consulte http://haskell.org/ghc/docs/6.12.2/html/libraries/base-4.2.0.1/src/Data-Char.html

Comentario más útil

Perdón por comentar en un hilo tan antiguo, en realidad acabo de implementar gran parte del UCD (v9.0.0) aquí . No depende de libicu, ni de la biblioteca estándar, por lo que es de esperar que sea fácil de usar con proyectos (aunque probablemente no sea tan confiable como ICU).

Todos 6 comentarios

El módulo en progreso llamado 'unicode::' en libstd es donde iba a esbozar una interfaz para libicu. En realidad, la decisión no es muy simple para la mayoría de las clases de personajes, y la UCI lo ha manejado bien. Supongo que podemos exponerlo bajo core::char si todos están de acuerdo con adoptar una dependencia en libicu.

libicu proporciona muchas características deseables adicionales, y probablemente esté presente en la mayoría de las computadoras (Python lo usa, por lo que debería estar bien para nosotros).

¿Queremos proporcionar enlaces libicu públicos o simplemente usarlos internamente en módulos como "char", "str", etc.?
Tiendo a inclinarme por lo segundo.

Para implementar correctamente las funciones en "char" de Rust usando libicu, creo que solo necesitamos llamar a funciones como "u_isspace()", "u_isdigit()", "u_forDigit()" (http://icu-project.org/ apiref/icu4c/uchar_8h.html).

Todavía no necesitaríamos enlaces libicu completos (incluidas las muchas definiciones de constantes).

Creo que deberíamos ir por la ruta libicu. Ver #1370

¿Podemos reabrir esto? Ya no dependemos de libicu, pero todavía no hay una manera fácil de encontrar la categoría de un personaje.

Perdón por comentar en un hilo tan antiguo, en realidad acabo de implementar gran parte del UCD (v9.0.0) aquí . No depende de libicu, ni de la biblioteca estándar, por lo que es de esperar que sea fácil de usar con proyectos (aunque probablemente no sea tan confiable como ICU).

¿Fue útil esta página
0 / 5 - 0 calificaciones