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

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

يُمرر التابع each_codepoint كل عدد من الأعداد الترتيبية (Integers ordinal، وتُعرف أيضًا باسم "نقاط الترميز" [codepoints] في السلاسل النصية المرمزة بالترميز الموحد [Unicode]) المقابلة لكل محرف من محارف السلسلة النصية المعطاة إلى الكتلة المرتبطة به ثم يعيد الناتج الذي تعيده هذه الكتلة.

إذا كان ترميز السلسلة غير الترميزات التالية: UTF-8، أو (UTF-16(BE|LE، أو (UTF-32(BE|LE، فإن القيم تُؤخذ مباشرةً من الترميز الثنائي لكل محرف.

في حال عدم وجود كتلة، فسيعيد التابع كائنًا من النوع enumerator.

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

each_codepoint {|integer| block }  str
each_codepoint  an_enumerator

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

تُعاد السلسلة النصية التي تعيدها الكتلة block بعد تمرير نقاط الترميز المقابلة لمحارف السلسلة النصية إليها، أو يُعاد كائن من النوع enumerator في حال عدم وجود كتلة.

أمثلة

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

"hello\u0639".each_codepoint {|c| print c, ' ' }

ناتج تنفيذ هذا السطر من الشيفرة هو:

104 101 108 108 111 1593

انظر أيضًا

  • التابع codepoints: يُعيد نقاط الترميز المقابلة لمحارف السلسلة النصية في مصفوفة.
  • التابع each_byte: يُمرر كل بايت من بايتات السلسلة النصية التي استدعي معها إلى الكتلة المُعطاة.
  • التابع each_char: يُمرر كل محرف من محارف السلسلة النصية التي استدعي معها إلى الكتلة المُعطاة.

مصادر