التابع String.each_grapheme_cluster في روبي

من موسوعة حسوب
< Ruby‏ | String

يمرِّر التابع each_grapheme_cluster كل وحدة كتابية (grapheme) إلى الكتلة المعطاة ثم يعيد سلسلة نصية بالناتج الذي تعيده. إن لم تُعطَ أية كتلة، فسيُعاد كائنٌ من النوع Enumerator.

بخلاف التابع each_char، هذا التابع يكرِّر العملية على كل الوحدات الكتابية (grapheme clusters) المُعرَّفة في ترميز اليونيكود Annex #29 القياسي.

البنية العامة

each_grapheme_cluster {|cstr| block }  str
each_grapheme_cluster  an_enumerator

القيمة المعادة

يعاد الناتج الذي تعيده الكتلة block بعد تمرير كل وحدة كتابية من السلسلة النصية المعطاة إليها، أو يعاد كائن من النوع Enumerator إن لم تُعطَ أية كتلة.

أمثلة

مثال على استخدام التابع each_grapheme_cluster:

"a\u0300".each_char.to_a.size #=> 2
"a\u0300".each_grapheme_cluster.to_a.size #=> 1

انظر أيضًا

  • التابع each_byte: يُمرر كل بايت من بايتات السلسلة النصية التي استدعي معها إلى الكتلة المُعطاة.
  • التابع each_char: يُمرر كل محرف من محارف السلسلة النصية التي استدعي معها إلى الكتلة المُعطاة.
  • التابع each_codepoint: يُمرر كل عدد من الأعداد الترتيبية (Integers ordinal) المقابلة لكل محرف من محارف السلسلة النصية المعطاة إلى الكتلة المرتبطة به ثم يعيد الناتج الذي تعيده هذه الكتلة.

مصادر