الفرق بين المراجعتين ل"Ruby/Regexp/named captures"

من موسوعة حسوب
< Ruby‏ | Regexp
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>named_captures‎</code> الخاص بالصنف <code>Regexp</code> في روبي}}</noinclude> تصنيف: Ruby ...')
 
سطر 3: سطر 3:
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Regexp]]
 
[[تصنيف: Ruby Regexp]]
يُعيد التابع <code>named_captures</code> قاموسًا (hash) يحتوي معلومات حول الالتقاطات المسماة (named captures) لتتعبير النمطي الذي استُدعي معه.
+
يُعيد التابع <code>named_captures</code> قاموسًا (hash) يحتوي معلومات حول الالتقاطات المسماة (named captures) للتعبير النمطي الذي استُدعي معه.
 +
 
 
مفاتيح (keys) القاموس هي أسماء الالتقاطات المعينة. أما قيم القاموس فهي مصفوفات تضم فهارس الالتقاطات المسماة المقابلة.
 
مفاتيح (keys) القاموس هي أسماء الالتقاطات المعينة. أما قيم القاموس فهي مصفوفات تضم فهارس الالتقاطات المسماة المقابلة.
  
سطر 10: سطر 11:
 
<syntaxhighlight lang="ruby">named_captures  → hash‎</syntaxhighlight>
 
<syntaxhighlight lang="ruby">named_captures  → hash‎</syntaxhighlight>
 
==القيمة المُعادة==
 
==القيمة المُعادة==
 +
يُعيد التابع <code>named_captures</code> قاموسًا (hash) يحتوي معلومات حول الالتقاطات المسماة (named captures) للتعبير النمطي الذي استُدعي معه.
  
 
==أمثلة==
 
==أمثلة==
مثال على استخدام التابع <code>named_captures‎</code>:
+
مثال على استخدام التابع <code>named_captures‎</code>:<syntaxhighlight lang="ruby">/(?<foo>.)(?<bar>.)/.named_captures
<syntaxhighlight lang="ruby">/(?<foo>.)(?<bar>.)/.named_captures
 
 
#=> {"foo"=>[1], "bar"=>[2]}
 
#=> {"foo"=>[1], "bar"=>[2]}
 
/(?<foo>.)(?<foo>.)/.named_captures
 
/(?<foo>.)(?<foo>.)/.named_captures
#=> {"foo"=>[1, 2]}‎</syntaxhighlight>
+
#=> {"foo"=>[1, 2]}‎
 +
 
 +
/(.)(.)/.named_captures
 +
#=> {}</syntaxhighlight>
 
==انظر أيضا==
 
==انظر أيضا==
* التابع <code>[[Ruby/Regexp/match-3F|match?‎]]</code>: يُعيد  القيمة <code>true</code> أو <code>false</code> بحسب ما إذا كان التعبير النمطي قد طوبِق أم لا دون تحديث المتغير $~ والمتغيرات الأخرى ذات الصلة. في حال إعطاء الوسيط الثاني، فإنّه يحدد الموضع في السلسلة النصية لبدء البحث.
+
*التابع <code>[[Ruby/Regexp/match-3F|match?‎]]</code>: يُعيد  القيمة <code>true</code> أو <code>false</code> بحسب ما إذا كان التعبير النمطي قد طوبِق أم لا.
* التابع <code>[[Ruby/Regexp/names|names]]</code>: يعيد  قائمة بأسماء الأجزاء المُلتقطة (captures) على هبئة مصفوفة من سلاسل نصية.
+
*التابع <code>[[Ruby/Regexp/names|names]]</code>: يعيد  قائمة بأسماء الأجزاء المُلتقطة (captures) على هبئة مصفوفة من سلاسل نصية.
 
 
 
==مصادر==
 
==مصادر==
 
*[http://ruby-doc.org/core-2.5.1/Regexp.html#method-i-named_captures قسم  التابع named_captures‎ في الصنف Regexp‎ في توثيق روبي الرسمي.]
 
*[http://ruby-doc.org/core-2.5.1/Regexp.html#method-i-named_captures قسم  التابع named_captures‎ في الصنف Regexp‎ في توثيق روبي الرسمي.]

مراجعة 23:39، 31 أكتوبر 2018

يُعيد التابع named_captures قاموسًا (hash) يحتوي معلومات حول الالتقاطات المسماة (named captures) للتعبير النمطي الذي استُدعي معه.

مفاتيح (keys) القاموس هي أسماء الالتقاطات المعينة. أما قيم القاموس فهي مصفوفات تضم فهارس الالتقاطات المسماة المقابلة.

إذا لم يكن هناك أي التقاطات مسماة، فسيعاد قاموس فارغ.

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

named_captures   hash

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

يُعيد التابع named_captures قاموسًا (hash) يحتوي معلومات حول الالتقاطات المسماة (named captures) للتعبير النمطي الذي استُدعي معه.

أمثلة

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

/(?<foo>.)(?<bar>.)/.named_captures
#=> {"foo"=>[1], "bar"=>[2]}
/(?<foo>.)(?<foo>.)/.named_captures
#=> {"foo"=>[1, 2]}‎

/(.)(.)/.named_captures
#=> {}

انظر أيضا

  • التابع match?‎: يُعيد القيمة true أو false بحسب ما إذا كان التعبير النمطي قد طوبِق أم لا.
  • التابع names: يعيد قائمة بأسماء الأجزاء المُلتقطة (captures) على هبئة مصفوفة من سلاسل نصية.

مصادر