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

من موسوعة حسوب
< Ruby‏ | String
اذهب إلى التنقل اذهب إلى البحث
(إنشاء الصفحة. هذه الصفحة من مساهمات "كريم حبال".)
 
(إضافة المحتوى)
 
سطر 3: سطر 3:
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby String]]
 
[[تصنيف: Ruby String]]
يعيد التابع <code>byteslice</code> ب
+
يجلب التابع <code>byteslice</code> محرفًا ذا فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من السلسلة النصية التي استدعيت معه.
 +
 
 +
إن مُرِّرت قيم سالبة للفهارس، فسيُحسَب موضع المحرف بدءًا من نهاية السلسلة، إذ تمثل القيمة ‎-1 فهرس المحرف الأخير.
 +
 
 +
ترميز السلسلة النصية المُعادة يكون من نفس ترميز السلاسل الأصلية.
 +
 
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="ruby">byteslice(integer) → new_str or nil
 
<syntaxhighlight lang="ruby">byteslice(integer) → new_str or nil
 
byteslice(integer, integer) → new_str or nil
 
byteslice(integer, integer) → new_str or nil
 
byteslice(range) → new_str or nil</syntaxhighlight>
 
byteslice(range) → new_str or nil</syntaxhighlight>
 +
 +
== المعاملات ==
 +
 +
=== <code>index</code> ===
 +
عدد صحيح يمثل فهرس المحرف المراد جلبه من السلسلة المعطاة.
 +
 +
=== <code>start</code> ===
 +
عدد صحيح يمثل فهرس بداية المحارف المراد جلبها من السلسلة المعطاة.
 +
 +
=== <code>length</code> ===
 +
عدد صحيح يمثل طول السلسلة المراد جلبها من السلسلة المعطاة.
 +
 +
=== <code>range</code> ===
 +
مجال يحدد فهرس البداية وفهرس النهاية لسلسلة المحارف المُراد جلبها من السلسلة المعطاة.
  
 
==القيمة المعادة==
 
==القيمة المعادة==
يعاد
+
تُعاد سلسلة من محرف وحيد ضمن الفهرس <code>index</code> المُحدد، أو سلسلة محارف محددة بالبداية <code>start</code> والطول <code>length</code> أو بالمجال <code>rang</code>.
 +
 
 +
إن مُرِّرت قيم سالبة للفهارس، فسيُحسَب موضع المحرف بدءًا من نهاية السلسلة، إذ تمثل القيمة ‎-1 فهرس المحرف الأخير.
 +
 
 +
تُعاد سلسلة فارغة في حال كان فهرس بداية المجال المُحدد يقع عند نهاية السلسلة.
 +
 
 +
تُعاد القيمة <code>nil</code> في حال كان الفهرس يقع خارج السلسلة، أو في حال تمرير طول سالب، أو في حال كانت بداية المجال أكبر من نهايته.
  
 
==أمثلة==
 
==أمثلة==
سطر 19: سطر 44:
 
"\x80\u3042".byteslice(1, 3) #=> "\u3042"
 
"\x80\u3042".byteslice(1, 3) #=> "\u3042"
 
"\x03\u3042\xff".byteslice(1..3) #=> "\u3042"</syntaxhighlight>
 
"\x03\u3042\xff".byteslice(1..3) #=> "\u3042"</syntaxhighlight>
==انظر أيضا==
+
==انظر أيضًا==
 +
* التابع <code>[[Ruby/String/bytes|bytes]]</code>: يُعيد البايتات المقابلة لمحارف السلسلة النصية في مصفوفة.
 +
* التابع <code>[[Ruby/String/bytesize|bytesize]]</code>: يعيد طول السلسلة النصية التي استدعيت معه بالبايت.
  
 
==مصادر==
 
==مصادر==
 
*[http://ruby-doc.org/core-2.5.1/String.html#method-i-byteslice قسم التابع ‎byteslice في الصنف String في توثيق روبي الرسمي.]
 
*[http://ruby-doc.org/core-2.5.1/String.html#method-i-byteslice قسم التابع ‎byteslice في الصنف String في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 19:21، 11 ديسمبر 2018

يجلب التابع 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: يعيد طول السلسلة النصية التي استدعيت معه بالبايت.

مصادر