الفرق بين المراجعتين ل"Ruby/String/each grapheme cluster"

من موسوعة حسوب
< Ruby‏ | String
اذهب إلى التنقل اذهب إلى البحث
(إنشاء الصفحة. هذه الصفحة من مساهمات "كريم حبال".)
 
(إضافة المحتوى)
 
سطر 3: سطر 3:
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby String]]
 
[[تصنيف: Ruby String]]
يعيد التابع <code>each_grapheme_cluster</code> ب
+
يمرِّر التابع <code>each_grapheme_cluster</code> كل وحدة كتابية ([[wikipedia:Grapheme|grapheme]]) إلى الكتلة المعطاة ثم يعيد سلسلة نصية بالناتج الذي تعيده. إن لم تُعطَ أية كتلة، فسيُعاد كائنٌ من النوع <code>[[Ruby/Enumerator|Enumerator]]</code>.
 +
 
 +
بخلاف التابع <code>[[Ruby/String/each char|each_char]]</code>، هذا التابع يكرِّر العملية على كل الوحدات الكتابية (grapheme clusters) المُعرَّفة في ترميز [http://www.unicode.org/reports/tr29/ اليونيكود Annex #29 القياسي].
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="ruby">each_grapheme_cluster {|cstr| block } → str
 
<syntaxhighlight lang="ruby">each_grapheme_cluster {|cstr| block } → str
سطر 9: سطر 11:
  
 
==القيمة المعادة==
 
==القيمة المعادة==
يعاد  
+
يعاد الناتج الذي تعيده الكتلة <code>block</code> بعد تمرير كل وحدة كتابية من السلسلة النصية المعطاة إليها، أو يعاد كائن من النوع <code>[[Ruby/Enumerator|Enumerator]]</code> إن لم تُعطَ أية كتلة.
  
 
==أمثلة==
 
==أمثلة==
 
مثال على استخدام التابع <code>each_grapheme_cluster</code>:
 
مثال على استخدام التابع <code>each_grapheme_cluster</code>:
<syntaxhighlight lang="ruby"></syntaxhighlight>
+
<syntaxhighlight lang="ruby">"a\u0300".each_char.to_a.size #=> 2
==انظر أيضا==
+
"a\u0300".each_grapheme_cluster.to_a.size #=> 1</syntaxhighlight>
 +
==انظر أيضًا==
 +
* التابع <code>[[Ruby/String/each byte|each_byte]]</code>: يُمرر كل بايت من بايتات السلسلة النصية التي استدعي معها إلى الكتلة المُعطاة.
 +
* التابع <code>[[Ruby/String/each char|each_char]]</code>: يُمرر كل محرف من محارف السلسلة النصية التي استدعي معها إلى الكتلة المُعطاة.
 +
* التابع <code>[[Ruby/String/each codepoint|each_codepoint]]</code>: يُمرر كل عدد من الأعداد الترتيبية (Integers ordinal) المقابلة لكل محرف من محارف السلسلة النصية المعطاة إلى الكتلة المرتبطة به ثم يعيد الناتج الذي تعيده هذه الكتلة.
  
 
==مصادر==
 
==مصادر==
 
*[http://ruby-doc.org/core-2.5.1/String.html#method-i-each_grapheme_cluster قسم التابع ‎each_grapheme_cluster في الصنف String في توثيق روبي الرسمي.]
 
*[http://ruby-doc.org/core-2.5.1/String.html#method-i-each_grapheme_cluster قسم التابع ‎each_grapheme_cluster في الصنف String في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 09:11، 2 فبراير 2019

يمرِّر التابع 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) المقابلة لكل محرف من محارف السلسلة النصية المعطاة إلى الكتلة المرتبطة به ثم يعيد الناتج الذي تعيده هذه الكتلة.

مصادر