الفرق بين المراجعتين لصفحة: «Ruby/String/partition»
جميل-بيلوني (نقاش | مساهمات) إنشاء الصفحة. هذه الصفحة من مساهمات "كريم حبال". |
جميل-بيلوني (نقاش | مساهمات) إضافة المحتوى |
||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby String]] | [[تصنيف: Ruby String]] | ||
يبحث التابع <code>partition</code> عن تطابق نص أو نمط محدد ضمن السلسلة النصية التي استدعي معها. فإذا عثر التابع على تطابق، فإنه يعيد مصفوفة تحوي الجزء الذي يسبقه، والجزء المتطابق، والجزء الذي يليه على التوالي. | |||
إذا لم يعثر التابع على تطابق؛، فإنه يعيد مصفوفة من السلسلة النصية المعطاة وسلسلتين فارغتين بعدها على التوالي. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">partition(sep) → [head, sep, tail] | <syntaxhighlight lang="ruby">partition(sep) → [head, sep, tail] | ||
partition(regexp) → [head, match, tail]</syntaxhighlight> | partition(regexp) → [head, match, tail]</syntaxhighlight> | ||
== المعاملات == | |||
=== <code>sep</code> === | |||
[[Ruby/String|السلسلة النصية]] المُراد البحث عن تطابق لها ضمن السلسلة النصية المُعطاة. | |||
=== <code>regexp</code> === | |||
[[Ruby/Regexp|التعبير النمطي]] المراد البحث عن تطابق له ضمن السلسلة المُعطاة. | |||
==القيمة المعادة== | ==القيمة المعادة== | ||
تُعاد [[Ruby/Array|مصفوفة]] تحوي الجزء الذي يسبق الجزء المتطابق، والجزء المتطابق نفسه، والجزء الذي يليه على التوالي. | |||
فى حال عدم العثور على تطابق، تُعاد مصفوفة من السلسلة النصية المعطاة وسلسلتين فارغتين بعدها على التوالي. | |||
==أمثلة== | ==أمثلة== | ||
سطر 17: | سطر 30: | ||
"hello".partition(/.l/) #=> ["h", "el", "lo"]</syntaxhighlight> | "hello".partition(/.l/) #=> ["h", "el", "lo"]</syntaxhighlight> | ||
==انظر | ==انظر أيضًا== | ||
* المعامل <code>[[Ruby/String/3C-3C|>>]]</code>: يُلحق الكائن المُعطى بالسلسلة النصية. | |||
* التابع <code>[[Ruby/String/concat|concat]]</code>: يضيف كائنات محدَّدة إلى السلسلة النصية التي استدعيت معه. | |||
* التابع <code>[[Ruby/String/include-3F|include?]]</code>: يتحقق إذا كانت السلسلة النصية التي استدعيت معها تحتوي على السلسلة النصية أو المحرف المُمرَّر إليها. | |||
* التابع <code>[[Ruby/String/index|index]]</code>: يبحث عن سلسلة أو نمط مُحدد ضمن السلسلة النصية التي استدعيت معها، ثم يُعيد فهرس أول تطابق يعثر عليه. | |||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/String.html#method-i-partition قسم التابع partition في الصنف String في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/String.html#method-i-partition قسم التابع partition في الصنف String في توثيق روبي الرسمي.] |
مراجعة 13:19، 12 ديسمبر 2018
يبحث التابع partition
عن تطابق نص أو نمط محدد ضمن السلسلة النصية التي استدعي معها. فإذا عثر التابع على تطابق، فإنه يعيد مصفوفة تحوي الجزء الذي يسبقه، والجزء المتطابق، والجزء الذي يليه على التوالي.
إذا لم يعثر التابع على تطابق؛، فإنه يعيد مصفوفة من السلسلة النصية المعطاة وسلسلتين فارغتين بعدها على التوالي.
البنية العامة
partition(sep) → [head, sep, tail]
partition(regexp) → [head, match, tail]
المعاملات
sep
السلسلة النصية المُراد البحث عن تطابق لها ضمن السلسلة النصية المُعطاة.
regexp
التعبير النمطي المراد البحث عن تطابق له ضمن السلسلة المُعطاة.
القيمة المعادة
تُعاد مصفوفة تحوي الجزء الذي يسبق الجزء المتطابق، والجزء المتطابق نفسه، والجزء الذي يليه على التوالي.
فى حال عدم العثور على تطابق، تُعاد مصفوفة من السلسلة النصية المعطاة وسلسلتين فارغتين بعدها على التوالي.
أمثلة
مثال على استعمال التابع partition
:
"hello".partition("l") #=> ["he", "l", "lo"]
"hello".partition("x") #=> ["hello", "", ""]
"hello".partition(/.l/) #=> ["h", "el", "lo"]
انظر أيضًا
- المعامل
>>
: يُلحق الكائن المُعطى بالسلسلة النصية.
- التابع
concat
: يضيف كائنات محدَّدة إلى السلسلة النصية التي استدعيت معه.
- التابع
include?
: يتحقق إذا كانت السلسلة النصية التي استدعيت معها تحتوي على السلسلة النصية أو المحرف المُمرَّر إليها.
- التابع
index
: يبحث عن سلسلة أو نمط مُحدد ضمن السلسلة النصية التي استدعيت معها، ثم يُعيد فهرس أول تطابق يعثر عليه.