الفرق بين المراجعتين لصفحة: «Ruby/Regexp/try convert»

من موسوعة حسوب
< Ruby‏ | Regexp
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>try_convert‎</code> الخاص بالصنف <code>Regexp</code> في روبي}}</noinclude> تصنيف: Ruby ت...'
 
لا ملخص تعديل
سطر 3: سطر 3:
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Regexp]]
[[تصنيف: Ruby Regexp]]
يُحاول التابع <code>try_convert</code> تحويل الوسيط obj (انظر فقرة البنية العامة) إلى كائن من النوع <code>[[Ruby/Regexp|Regexp]]</code>، باستخدام التابع to_regexp. ثم يعيد التعبير النمطي الناتج، أو nil في حالة تعذر تحويل obj لسبب أو لآخر.
يُحاول التابع <code>try_convert</code> تحويل الوسيط <code>obj</code> (انظر فقرة البنية العامة) إلى كائن من النوع <code>[[Ruby/Regexp|Regexp]]</code> باستخدام التابع <code>to_regexp</code>. ثم يعيد التعبير النمطي الناتج، أو <code>nil</code> في حالة تعذر تحويل <code>obj</code> لسبب أو لآخر.
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="ruby">try_convert(obj) → re or nil‎</syntaxhighlight>
<syntaxhighlight lang="ruby">try_convert(obj) → re or nil‎</syntaxhighlight>
==المعاملات==
==المعاملات==
===<code>obj‎</code>===
===<code>obj‎</code>===
كائن.


==القيمة المُعادة==
==القيمة المُعادة==
يعيد التابع <code>try_convert</code> كائنًا من النوع <code>[[Ruby/Regexp|Regexp]]</code>.


==أمثلة==
==أمثلة==
سطر 20: سطر 22:
Regexp.try_convert(o)            #=> /foo/‎</syntaxhighlight>
Regexp.try_convert(o)            #=> /foo/‎</syntaxhighlight>
==انظر أيضا==
==انظر أيضا==
* التابع <code>[[Ruby/Regexp/quote|quote]]</code>: يُخلّص (escapes)  أي حرف قد يكون له معنى خاص في التعبير النمطي. ثم يُعيد سلسلة نصية جديدة مُخلّصة، أو يعيد الكائن  (self) إذا لم يتم تخليص أي أحرف.  لكل سلسلة نصية str، ستكون قيمة التعبير <code>Regexp.new(Regexp.escape( str ))=~ str</code> مساوية للقيمة true.
* التابع <code>[[Ruby/Regexp/new|new]]</code>: ينشئ تعبيرًا نمطيًا جديدًا.
* التابع <code>[[Ruby/Regexp/union|union]]</code>: يُعيد  كائن من النوع <code>Regexp</code>، والذي يمثل اتحاد الأنماط المعطاة، أي أنه سيتطابق مع أي من أجزائه. يمكن أن تكون الأنماط كائنات من النوع <code>[[Ruby/Regexp|Regexp]]</code>، وفي هذه الحالة سيتم الاحتفاظ بخياراتها، أو يمكن أن تكون سلاسل نصية. إذا لم يتم إعطاء أية أنماط، فسيعيد  القيمة <code>/(?!)/</code>. السلوك سيكون غير محدد إذا احتوى أيُّ من الأنماط المعطاة على التقاط (capture).
* التابع <code>[[Ruby/Regexp/union|union]]</code>: يُعيد  كائن من النوع <code>Regexp</code>، والذي يمثل اتحاد الأنماط المعطاة،  


==مصادر==
==مصادر==
*[http://ruby-doc.org/core-2.5.1/Regexp.html#method-c-try_convert قسم  التابع try_convert‎ في الصنف Regexp‎ في توثيق روبي الرسمي.]
*[http://ruby-doc.org/core-2.5.1/Regexp.html#method-c-try_convert قسم  التابع try_convert‎ في الصنف Regexp‎ في توثيق روبي الرسمي.]

مراجعة 22:00، 31 أكتوبر 2018

يُحاول التابع try_convert تحويل الوسيط obj (انظر فقرة البنية العامة) إلى كائن من النوع Regexp باستخدام التابع to_regexp. ثم يعيد التعبير النمطي الناتج، أو nil في حالة تعذر تحويل obj لسبب أو لآخر.

البنية العامة

try_convert(obj)  re or nil

المعاملات

obj‎

كائن.

القيمة المُعادة

يعيد التابع try_convert كائنًا من النوع Regexp.

أمثلة

مثال على استخدام التابع try_convert‎:

Regexp.try_convert(/re/)         #=> /re/
Regexp.try_convert("re")         #=> nil
o = Object.new
Regexp.try_convert(o)            #=> nil
def o.to_regexp() /foo/ end
Regexp.try_convert(o)            #=> /foo/‎

انظر أيضا

  • التابع new: ينشئ تعبيرًا نمطيًا جديدًا.
  • التابع union: يُعيد كائن من النوع Regexp، والذي يمثل اتحاد الأنماط المعطاة،

مصادر