الفرق بين المراجعتين لصفحة: «Ruby/Regexp/union»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>union</code> الخاص بالصنف <code>Regexp</code> في روبي}}</noinclude> تصنيف: Ruby تصني...' |
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
||
(مراجعتان متوسطتان بواسطة مستخدمين اثنين آخرين غير معروضتين) | |||
سطر 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> | يُعيد التابع <code>union</code> كائنًا من النوع [[Ruby/Regexp|<code>Regexp</code>]]، والذي يمثل اتحاد الأنماط المعطاة؛ أي أنه سيتطابق مع أي من تلك الأجزاء. يمكن أن تكون الأنماط المعطاة كائنات من النوع <code>[[Ruby/Regexp|Regexp]]</code>، وفي هذه الحالة سيتم الاحتفاظ بخياراتها، أو يمكن أن تكون سلاسل نصية. | ||
ملاحظة: ستحاول روبي تحويل | إذا لم يتم إعطاء أية أنماط، فسيعيد التابع <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 | ||
سطر 11: | سطر 13: | ||
==المعاملات== | ==المعاملات== | ||
===<code>pat1</code>=== | ===<code>pat1</code>=== | ||
النمط الأول. | |||
===<code>pat2</code>=== | ===<code>pat2</code>=== | ||
النمط الثاني. | |||
===<code>...</code>=== | ===<code>...</code>=== | ||
أنماط أخرى. | |||
==القيمة | ==القيمة المعادة== | ||
يعاد كائنٌ من النوع [[Ruby/Regexp|<code>Regexp</code>]] يمثل اتحاد الأنماط المعطاة. | |||
==أمثلة== | ==أمثلة== | ||
سطر 25: | سطر 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 في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 05:45، 4 ديسمبر 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
،