التابع String.byteslice
في روبي
يجلب التابع byteslice
محرفًا ذا فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من السلسلة النصية التي استدعيت معه.
إن مُرِّرت قيم سالبة للفهارس، فسيُحسَب موضع المحرف بدءًا من نهاية السلسلة، إذ تمثل القيمة -1 فهرس المحرف الأخير.
ترميز السلسلة النصية المُعادة يكون من نفس ترميز السلاسل الأصلية.
البنية العامة
byteslice(integer) → new_str or nil
byteslice(integer, integer) → new_str or nil
byteslice(range) → new_str or nil
المعاملات
index
عدد صحيح يمثل فهرس المحرف المراد جلبه من السلسلة المعطاة.
start
عدد صحيح يمثل فهرس بداية المحارف المراد جلبها من السلسلة المعطاة.
length
عدد صحيح يمثل طول السلسلة المراد جلبها من السلسلة المعطاة.
range
مجال يحدد فهرس البداية وفهرس النهاية لسلسلة المحارف المُراد جلبها من السلسلة المعطاة.
القيمة المعادة
تُعاد سلسلة من محرف وحيد ضمن الفهرس index
المُحدد، أو سلسلة محارف محددة بالبداية start
والطول length
أو بالمجال rang
.
إن مُرِّرت قيم سالبة للفهارس، فسيُحسَب موضع المحرف بدءًا من نهاية السلسلة، إذ تمثل القيمة -1 فهرس المحرف الأخير.
تُعاد سلسلة فارغة في حال كان فهرس بداية المجال المُحدد يقع عند نهاية السلسلة.
تُعاد القيمة nil
في حال كان الفهرس يقع خارج السلسلة، أو في حال تمرير طول سالب، أو في حال كانت بداية المجال أكبر من نهايته.
أمثلة
مثال على استخدام التابع byteslice
:
"hello".byteslice(1) #=> "e"
"hello".byteslice(-1) #=> "o"
"hello".byteslice(1, 2) #=> "el"
"\x80\u3042".byteslice(1, 3) #=> "\u3042"
"\x03\u3042\xff".byteslice(1..3) #=> "\u3042"
انظر أيضًا
- التابع
bytes
: يُعيد البايتات المقابلة لمحارف السلسلة النصية في مصفوفة. - التابع
bytesize
: يعيد طول السلسلة النصية التي استدعيت معه بالبايت.