الفرق بين المراجعتين لصفحة: «Ruby/String/3D~»
جميل-بيلوني (نقاش | مساهمات) إنشاء الصفحة. هذه الصفحة من مساهمات "كريم حبال". |
جميل-بيلوني (نقاش | مساهمات) إضافة المحتوى |
||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Operator]] | [[تصنيف: Ruby Operator]] | ||
[[تصنيف: Ruby String]] | [[تصنيف: Ruby String]] | ||
يعيد المعامل <code>~=</code> | يطابق المعامل <code>~=</code> الكائن المُعطى مع سلسلة نصية. إذا كان الكائن عبارة عن [[Ruby/Regexp|تعبير نمطي]] (Regexp)، فإن المعامل يستعمله كنمط لمطابقة السلسلة النصية، ثم يعيد فهرس أول تطابق يعثر عليه، أو يعيد القيمة <code>nil</code> فى حال عدم وجود تطابق. عدا ذلك، فإنَّ المعامل يستدعي الكائن المعطى، ويمرر السلسلة النصية إليه كمعامل. | ||
'''ملاحظة''': الصيغة <code>str =~ regexp</code> ليست مثل <code>regexp =~ str</code>، حيث تُعين السلاسل الملتقطة من مجموعات الالتقاط المسماة إلى المتغيرات المحلية فى الحالة الثانية فقط. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">str =~ obj → integer or nil</syntaxhighlight> | <syntaxhighlight lang="ruby">str =~ obj → integer or nil</syntaxhighlight> | ||
== المعاملات == | |||
=== <code>str</code> === | |||
السلسلة النصية المراد التحقق من مطابقتها. | |||
=== <code>obj</code> === | |||
كائن من النوع <code>[[Ruby/Regexp|Regexp]]</code> سيُتحقق من تطابقه مع السلسلة النصية <code>str</code>. | |||
==القيمة المعادة== | ==القيمة المعادة== | ||
يُعاد عدد صحيح يمثِّل فهرس أول تطابق يعثر عليه المعامل، أو تُعاد القيمة <code>nil</code> فى حال عدم وجود تطابق. | |||
==أمثلة== | ==أمثلة== | ||
سطر 14: | سطر 25: | ||
<syntaxhighlight lang="ruby">"cat o' 9 tails" =~ /\d/ #=> 7 | <syntaxhighlight lang="ruby">"cat o' 9 tails" =~ /\d/ #=> 7 | ||
"cat o' 9 tails" =~ 9 #=> nil</syntaxhighlight> | "cat o' 9 tails" =~ 9 #=> nil</syntaxhighlight> | ||
==انظر | ==انظر أيضًا== | ||
* المعامل <code>[[Ruby/String/2B|+]]</code>: يجمع سلسلتين نصيتين مع بعضهما بعضًا ثم يعيد الناتج في سلسلة نصية جديدة. | |||
* المعامل <code>[[Ruby/String/3C-3C|>>]]</code>: يُلحق الكائن المُعطى بالسلسلة النصية. | |||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/String.html#method-i-3D~ قسم المعامل ~= في الصنف String في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/String.html#method-i-3D~ قسم المعامل ~= في الصنف String في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 13:26، 23 ديسمبر 2018
يطابق المعامل ~=
الكائن المُعطى مع سلسلة نصية. إذا كان الكائن عبارة عن تعبير نمطي (Regexp)، فإن المعامل يستعمله كنمط لمطابقة السلسلة النصية، ثم يعيد فهرس أول تطابق يعثر عليه، أو يعيد القيمة nil
فى حال عدم وجود تطابق. عدا ذلك، فإنَّ المعامل يستدعي الكائن المعطى، ويمرر السلسلة النصية إليه كمعامل.
ملاحظة: الصيغة str =~ regexp
ليست مثل regexp =~ str
، حيث تُعين السلاسل الملتقطة من مجموعات الالتقاط المسماة إلى المتغيرات المحلية فى الحالة الثانية فقط.
البنية العامة
str =~ obj → integer or nil
المعاملات
str
السلسلة النصية المراد التحقق من مطابقتها.
obj
كائن من النوع Regexp
سيُتحقق من تطابقه مع السلسلة النصية str
.
القيمة المعادة
يُعاد عدد صحيح يمثِّل فهرس أول تطابق يعثر عليه المعامل، أو تُعاد القيمة nil
فى حال عدم وجود تطابق.
أمثلة
مثال على استخدام المعامل ~=
:
"cat o' 9 tails" =~ /\d/ #=> 7
"cat o' 9 tails" =~ 9 #=> nil
انظر أيضًا
- المعامل
+
: يجمع سلسلتين نصيتين مع بعضهما بعضًا ثم يعيد الناتج في سلسلة نصية جديدة. - المعامل
>>
: يُلحق الكائن المُعطى بالسلسلة النصية.