Rust: "char": أضف نوعًا ووظيفة لفئات أحرف Unicode

تم إنشاؤها على ٢٠ ديسمبر ٢٠١١  ·  6تعليقات  ·  مصدر: rust-lang/rust

للتعرف على فئات أحرف Unicode ، راجع http://www.fileformat.info/info/unicode/category/index.htm

يطبق هاسكل النوع "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. القرار ليس في الواقع بسيطًا جدًا بالنسبة لمعظم فئات الشخصيات ، وقد تم التعامل مع هذا الأمر بشكل جيد في وحدة العناية المركزة. أعتقد أننا يمكن أن نفضحها تحت core :: char إذا كان الجميع هادئًا بتبني الاعتماد على libicu؟

يوفر libicu العديد من الميزات الإضافية المرغوبة ، وربما يكون موجودًا في معظم أجهزة الكمبيوتر (تستخدمه Python ، لذا يجب أن يكون جيدًا بالنسبة لنا).

هل نريد توفير روابط libicu العامة أو استخدامها داخليًا في وحدات مثل "char" و "str" ​​وما إلى ذلك؟
أنا أميل إلى الاتكاء على هذا الأخير.

لتنفيذ الوظائف في Rust's "char" بشكل صحيح باستخدام libicu ، أعتقد أننا نحتاج فقط إلى استدعاء وظائف مثل "u_isspace ()" ، "u_isdigit ()" ، "u_forDigit ()" (http://icu-project.org/ apiref / icu4c / uchar_8h.html).

لن نحتاج بعد إلى روابط libicu كاملة (بما في ذلك العديد من تعريفات الثوابت).

أعتقد أننا يجب أن نذهب إلى طريق libicu. انظر # 1370

هل يمكننا إعادة فتح هذا؟ لم نعد نعتمد على libicu بعد الآن ، ولكن لا تزال هناك طريقة سهلة للعثور على فئة الشخصية.

آسف للتعليق على موضوع قديم جدًا ، لقد قمت بالفعل بتنفيذ الكثير من UCD (v9.0.0) هنا . لا تعتمد على libicu ولا على المكتبة القياسية ، لذا نأمل أن تكون سهلة الاستخدام مع المشاريع (على الرغم من أنها قد لا تكون موثوقة مثل ICU).

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات