Rust: "char": ajouter un type et une fonction pour les catégories de caractères Unicode

Créé le 20 déc. 2011  ·  6Commentaires  ·  Source: rust-lang/rust

Pour les catégories de caractères Unicode, voir http://www.fileformat.info/info/unicode/category/index.htm

Haskell implémente le type "GeneralCategory" et une fonction pour déterminer la "GeneralCategory" d'un personnage.
Leur implémentation se déroule ainsi :

Je propose d'écrire un script Python, qui fait quelque chose de similaire.

Avoir un tel type et une telle fonction dans Rust nous permet d'implémenter correctement les fonctions dans le module "char". Voir http://haskell.org/ghc/docs/6.12.2/html/libraries/base-4.2.0.1/src/Data-Char.html

Commentaire le plus utile

Désolé de commenter un sujet si ancien, je viens en fait d'implémenter une grande partie de l'UCD (v9.0.0) ici . Cela ne dépend pas de libicu, ni de la bibliothèque standard, donc j'espère qu'il devrait être facile à utiliser avec des projets (bien qu'il ne soit probablement pas aussi fiable qu'ICU).

Tous les 6 commentaires

Le module en cours appelé 'unicode ::' dans libstd est l'endroit où j'allais esquisser une interface pour libicu. La décision n'est en fait pas très simple pour la plupart des classes de personnages, et ICU a bien géré cela. Je suppose que nous pouvons l'exposer sous core::char si tout le monde est d'accord avec l'adoption d'une dépendance à libicu ?

libicu fournit de nombreuses fonctionnalités supplémentaires souhaitables, et il est probablement présent sur la plupart des ordinateurs (Python l'utilise, donc cela devrait nous convenir).

Voulons-nous fournir des liaisons libicu publiques ou simplement les utiliser en interne dans des modules tels que "char", "str" ​​etc ?
J'ai tendance à pencher pour ce dernier.

Pour implémenter correctement les fonctions dans "char" de Rust en utilisant libicu, je pense que nous n'avons qu'à appeler des fonctions comme "u_isspace()", "u_isdigit ()", "u_forDigit()" (http://icu-project.org/ apiref/icu4c/uchar_8h.html).

Nous n'aurions pas encore besoin de libicu-bindings complets (y compris les nombreuses définitions de constantes).

Je pense que nous devrions opter pour la voie du libicu. Voir #1370

Pouvons-nous rouvrir cela ? Nous ne dépendons plus de libicu, mais il n'y a toujours pas de moyen facile de trouver la catégorie d'un personnage.

Désolé de commenter un sujet si ancien, je viens en fait d'implémenter une grande partie de l'UCD (v9.0.0) ici . Cela ne dépend pas de libicu, ni de la bibliothèque standard, donc j'espère qu'il devrait être facile à utiliser avec des projets (bien qu'il ne soit probablement pas aussi fiable qu'ICU).

Cette page vous a été utile?
0 / 5 - 0 notes