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

من موسوعة حسوب
< Ruby‏ | String
اذهب إلى التنقل اذهب إلى البحث
(إنشاء الصفحة. هذه الصفحة من مساهمات "كريم حبال".)
 
(إضافة المحتوى)
 
سطر 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

انظر أيضًا

  • المعامل +: يجمع سلسلتين نصيتين مع بعضهما بعضًا ثم يعيد الناتج في سلسلة نصية جديدة.
  • المعامل >>: يُلحق الكائن المُعطى بالسلسلة النصية.

مصادر