الفرق بين المراجعتين لصفحة: «Ruby/Regexp/union»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق. |
||
| سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: التابع <code>union | <noinclude>{{DISPLAYTITLE: التابع <code>Regexp.union</code> في روبي}}</noinclude> | ||
[[تصنيف: Ruby]] | [[تصنيف: Ruby]] | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Regexp]] | [[تصنيف: Ruby Regexp]] | ||
يُعيد التابع <code>union</code> كائنًا من النوع [[Ruby/Regexp|<code>Regexp</code>]]، والذي يمثل اتحاد الأنماط | يُعيد التابع <code>union</code> كائنًا من النوع [[Ruby/Regexp|<code>Regexp</code>]]، والذي يمثل اتحاد الأنماط المعطاة؛ أي أنه سيتطابق مع أي من تلك الأجزاء. يمكن أن تكون الأنماط المعطاة كائنات من النوع <code>[[Ruby/Regexp|Regexp]]</code>، وفي هذه الحالة سيتم الاحتفاظ بخياراتها، أو يمكن أن تكون سلاسل نصية. | ||
إذا لم يتم إعطاء أية أنماط، فسيعيد التابع <code>union</code> القيمة <code>/(?!)/</code>. السلوك سيكون غير محدد إذا احتوى أيُّ من الأنماط المعطاة على التقاط (capture). | إذا لم يتم إعطاء أية أنماط، فسيعيد التابع <code>union</code> القيمة <code>/(?!)/</code>. السلوك سيكون غير محدد إذا احتوى أيُّ من الأنماط المعطاة على التقاط (capture). | ||
'''ملاحظة''': ستحاول روبي تحويل | '''ملاحظة''': ستحاول روبي تحويل المعاملات المُمررة للتابع <code>union</code> إلى تعبيرات نظامية حرفية ( regular expression literal) عبر التابع <code>to_regexp</code>. | ||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">union(pat1, pat2, ...)→ new_regexp | <syntaxhighlight lang="ruby">union(pat1, pat2, ...)→ new_regexp | ||
| سطر 21: | سطر 21: | ||
أنماط أخرى. | أنماط أخرى. | ||
==القيمة | ==القيمة المعادة== | ||
يعاد كائنٌ من النوع [[Ruby/Regexp|<code>Regexp</code>]] يمثل اتحاد الأنماط المعطاة. | |||
==أمثلة== | ==أمثلة== | ||
| سطر 32: | سطر 32: | ||
Regexp.union(["skiing", "sledding"]) #=> /skiing|sledding/ | Regexp.union(["skiing", "sledding"]) #=> /skiing|sledding/ | ||
Regexp.union(/dogs/, /cats/i) #=> /(?-mix:dogs)|(?i-mx:cats)/</syntaxhighlight> | Regexp.union(/dogs/, /cats/i) #=> /(?-mix:dogs)|(?i-mx:cats)/</syntaxhighlight> | ||
==انظر | ==انظر أيضًا== | ||
* التابع <code>[[Ruby/Regexp/try_convert|try_convert]]</code>: يُحاول تحويل | * التابع <code>[[Ruby/Regexp/try_convert|try_convert]]</code>: يُحاول تحويل الكائن المُمرَّر إليه إلى كائن من النوع <code>[[Ruby/Regexp|Regexp]]</code>، | ||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Regexp.html#method-c-union قسم | *[http://ruby-doc.org/core-2.5.1/Regexp.html#method-c-union قسم التابع union في الصنف Regexp في توثيق روبي الرسمي.] | ||
مراجعة 14:19، 3 ديسمبر 2018
يُعيد التابع union كائنًا من النوع Regexp، والذي يمثل اتحاد الأنماط المعطاة؛ أي أنه سيتطابق مع أي من تلك الأجزاء. يمكن أن تكون الأنماط المعطاة كائنات من النوع Regexp، وفي هذه الحالة سيتم الاحتفاظ بخياراتها، أو يمكن أن تكون سلاسل نصية.
إذا لم يتم إعطاء أية أنماط، فسيعيد التابع union القيمة /(?!)/. السلوك سيكون غير محدد إذا احتوى أيُّ من الأنماط المعطاة على التقاط (capture).
ملاحظة: ستحاول روبي تحويل المعاملات المُمررة للتابع union إلى تعبيرات نظامية حرفية ( regular expression literal) عبر التابع to_regexp.
البنية العامة
union(pat1, pat2, ...)→ new_regexp
union(pats_ary) → new_regexp
المعاملات
pat1
النمط الأول.
pat2
النمط الثاني.
...
أنماط أخرى.
القيمة المعادة
يعاد كائنٌ من النوع Regexp يمثل اتحاد الأنماط المعطاة.
أمثلة
مثال على استخدام التابع union:
Regexp.union #=> /(?!)/
Regexp.union("penzance") #=> /penzance/
Regexp.union("a+b*c") #=> /a\+b\*c/
Regexp.union("skiing", "sledding") #=> /skiing|sledding/
Regexp.union(["skiing", "sledding"]) #=> /skiing|sledding/
Regexp.union(/dogs/, /cats/i) #=> /(?-mix:dogs)|(?i-mx:cats)/
انظر أيضًا
- التابع
try_convert: يُحاول تحويل الكائن المُمرَّر إليه إلى كائن من النوعRegexp،