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

من موسوعة حسوب
< Ruby‏ | Regexp
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>try_convert‎</code> الخاص بالصنف <code>Regexp</code> في روبي}}</noinclude> تصنيف: Ruby ت...'
 
طلا ملخص تعديل
 
(مراجعتان متوسطتان بواسطة مستخدمين اثنين آخرين غير معروضتين)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع <code>try_convert‎</code> الخاص بالصنف <code>Regexp</code> في روبي}}</noinclude>
<noinclude>{{DISPLAYTITLE: التابع <code>Regexp.try_convert‎</code> في روبي}}</noinclude>
[[تصنيف: Ruby]]
[[تصنيف: Ruby]]
[[تصنيف: 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>[[Ruby/Regexp|Regexp]]</code> باستخدام التابع <code>to_regexp</code> ثم يعيد التعبير النمطي الناتج، أو القيمة <code>nil</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>[[Ruby/Regexp|Regexp]]</code> ناتج عن تحويل الكائن <code>obj</code>.


==أمثلة==
==أمثلة==
سطر 19: سطر 21:
def o.to_regexp() /foo/ end
def o.to_regexp() /foo/ end
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‎ في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 05:44، 4 ديسمبر 2018

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

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

try_convert(obj)  re or nil

المعاملات

obj‎

الكائن المراد تحويله.

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

يعاد كائنٌ من النوع Regexp ناتج عن تحويل الكائن obj.

أمثلة

مثال على استخدام التابع 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، والذي يمثل اتحاد الأنماط المعطاة.

مصادر