الفرق بين المراجعتين لصفحة: «Ruby/String/each grapheme cluster»
جميل-بيلوني (نقاش | مساهمات) إنشاء الصفحة. هذه الصفحة من مساهمات "كريم حبال". |
جميل-بيلوني (نقاش | مساهمات) إضافة المحتوى |
||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby String]] | [[تصنيف: Ruby String]] | ||
يعيد التابع <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) المقابلة لكل محرف من محارف السلسلة النصية المعطاة إلى الكتلة المرتبطة به ثم يعيد الناتج الذي تعيده هذه الكتلة.