Rust: "char": adiciona um tipo e uma função para categorias de caracteres Unicode

Criado em 20 dez. 2011  ·  6Comentários  ·  Fonte: rust-lang/rust

Para categorias de caracteres Unicode, consulte http://www.fileformat.info/info/unicode/category/index.htm

Haskell implementa o tipo "GeneralCategory" e uma função para determinar a "GeneralCategory" de um caractere.
A implementação deles fica assim:

Proponho escrever um script Python, que faça algo semelhante.

Ter esse tipo e função no Rust nos permite implementar corretamente as funções no módulo "char". Consulte http://haskell.org/ghc/docs/6.12.2/html/libraries/base-4.2.0.1/src/Data-Char.html

Comentários muito úteis

Desculpe comentar em um tópico tão antigo, na verdade acabei de implementar grande parte do UCD (v9.0.0) aqui . Não depende do libicu, nem da biblioteca padrão, então espero que seja fácil de usar com projetos (embora provavelmente não seja tão confiável quanto o ICU).

Todos 6 comentários

O módulo em andamento chamado 'unicode::' em libstd é onde eu ia esboçar uma interface para libicu. A decisão não é realmente muito simples para a maioria das classes de personagens, e a UTI tem isso bem tratado. Acho que podemos expô-lo em core::char se todo mundo está de acordo com a adoção de uma dependência de libicu?

libicu fornece muitos recursos adicionais desejáveis, e provavelmente está presente na maioria dos computadores (Python o usa, então deve ser bom para nós).

Queremos fornecer ligações públicas de libicu ou apenas usá-las internamente em módulos como "char", "str" ​​etc?
Eu costumo me inclinar para o último.

Para implementar as funções no "char" do Rust corretamente usando libicu, acho que só precisamos chamar funções como "u_isspace()", "u_isdigit()", "u_forDigit()" (http://icu-project.org/ apiref/icu4c/uchar_8h.html).

Nós não precisaríamos de ligações completas de libicu (incluindo as muitas definições de constantes) ainda.

Acho que devemos seguir a rota do libicu. Veja #1370

Podemos reabrir isso? Não dependemos mais de libicu, mas ainda não há uma maneira fácil de encontrar a categoria de um personagem.

Desculpe comentar em um tópico tão antigo, na verdade acabei de implementar grande parte do UCD (v9.0.0) aqui . Não depende do libicu, nem da biblioteca padrão, então espero que seja fácil de usar com projetos (embora provavelmente não seja tão confiável quanto o ICU).

Esta página foi útil?
0 / 5 - 0 avaliações