الفرق بين المراجعتين ل"Ruby/UnboundMethod/arity"

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>arity‎</code> الخاص بالصنف <code>UnboundMethod</code> في روبي}}</noinclude> تصنيف: Ruby ت...')
 
ط (مراجعة وتدقيق.)
 
(3 مراجعات متوسطة بواسطة مستخدم واحد آخر غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع <code>arity‎</code> الخاص بالصنف <code>UnboundMethod</code> في روبي}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: التابع <code>UnboundMethod.arity‎</code> في روبي}}</noinclude>
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby UnboundMethod]]
 
[[تصنيف: Ruby UnboundMethod]]
يعيد التابع <code>arity</code> مؤشرا لعدد الوسائط المقبولة من قبل التابع. يعيد عددًا صحيحًا غير سالب للتوابع التي تأخذ عددًا محددًا من الوسائطا. بالنسبة لتوابع روبي التي تأخذ عددًا متغيرًا من الوسائط، يًعاد العدد -n-1، حيث n هو عدد الوسائط المطلوبة. الوسائط المسماة (Keyword arguments) ستُعد وسيطاً إضافيًا واحدًا، وسيكون ذلك الوسيط إلزاميا إن كان أيٌّ من الوسائط المسماة كذلك. بالنسبة للتوابع المكتوبة بلغة C، سيُعاد العدد -1 إن كانت استدعاء تلك التوابع يأخذ عددًا متغيرًا من الوسائط.
+
يعيد المعامل <code>arity</code> مؤشرًا لعدد الوسائط المقبولة من قبل تابع.  
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="ruby">arity → integer‎</syntaxhighlight>
 
<syntaxhighlight lang="ruby">arity → integer‎</syntaxhighlight>
==القيمة المُعادة==
+
==القيمة المعادة==
 +
يعاد عدد صحيحً غير سالب للتوابع التي تأخذ عددًا محددًا من الوسائط. بالنسبة لتوابع روبي التي تأخذ عددًا متغيرًا من الوسائط، يًعاد العدد ‎<code>-n-1</code>، حيث <code>n</code> هو عدد الوسائط المطلوبة. الوسائط المسماة (Keyword arguments) ستُعيد وسيطًا إضافيًا واحدًا، وسيكون ذلك الوسيط إلزاميًّا إن كان أيٌّ من الوسائط المسماة كذلك. بالنسبة للتوابع المكتوبة بلغة C، سيُعاد العدد <code>‎-1</code> إن كان استدعاء تلك التوابع يأخذ عددًا متغيرًا من الوسائط.
 +
 
 
==أمثلة==
 
==أمثلة==
 
مثال على استخدام التابع <code>arity‎</code>:
 
مثال على استخدام التابع <code>arity‎</code>:
سطر 36: سطر 38:
 
"cat".method(:squeeze).arity  #=> -1
 
"cat".method(:squeeze).arity  #=> -1
 
"cat".method(:count).arity    #=> -1‎</syntaxhighlight>
 
"cat".method(:count).arity    #=> -1‎</syntaxhighlight>
==انظر أيضا==
+
==انظر أيضًا==
* التابع <code>[[Ruby/UnboundMethod/equality_operator|==]]</code>: يكون كائنان من النوع UnboundMethod متساويين إن كانا مرتبطين بنفس الكائن، وكانا يشيران إلى نفس تعريف التابع، وكان لهما نفس الصنف أو الوحد المالكة.
+
* التابع <code>[[Ruby/UnboundMethod/hash|hash]]</code>: يعيد رمز تجزئة التابع.
* التابع <code>[[Ruby/UnboundMethod/bind|bind]]</code>: يربط التابع <code>bind</code> [[Ruby/UnboundMethod|المتعقب]] <code>umeth</code> بالكائن <code>obj</code> (انظر فقرة البنية العامة). إذا كان <code>Klass</code> هو الصنف الذي استُنسخ منه [[Ruby/UnboundMethod|المتعقب]] <code>umeth</code>، فيجب أن يساوي التعبير <code>obj.kind_of?(Klass)</code> القيمة true.
 
 
==مصادر==
 
==مصادر==
*[http://ruby-doc.org/core-2.5.1/UnboundMethod.html#method-i-arity قسم التابع arity‎ في الصنف UnboundMethod‎ في توثيق روبي الرسمي.]
+
*[http://ruby-doc.org/core-2.5.1/UnboundMethod.html#method-i-arity قسم التابع arity‎ في الصنف UnboundMethod‎ في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 07:25، 8 ديسمبر 2018

يعيد المعامل arity مؤشرًا لعدد الوسائط المقبولة من قبل تابع.

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

arity  integer

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

يعاد عدد صحيحً غير سالب للتوابع التي تأخذ عددًا محددًا من الوسائط. بالنسبة لتوابع روبي التي تأخذ عددًا متغيرًا من الوسائط، يًعاد العدد ‎-n-1، حيث n هو عدد الوسائط المطلوبة. الوسائط المسماة (Keyword arguments) ستُعيد وسيطًا إضافيًا واحدًا، وسيكون ذلك الوسيط إلزاميًّا إن كان أيٌّ من الوسائط المسماة كذلك. بالنسبة للتوابع المكتوبة بلغة C، سيُعاد العدد ‎-1 إن كان استدعاء تلك التوابع يأخذ عددًا متغيرًا من الوسائط.

أمثلة

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

class C
  def one;    end
  def two(a); end
  def three(*a);  end
  def four(a, b); end
  def five(a, b, *c);    end
  def six(a, b, *c, &d); end
  def seven(a, b, x:0); end
  def eight(x:, y:); end
  def nine(x:, y:, **z); end
  def ten(*a, x:, y:); end
end
c = C.new
c.method(:one).arity     #=> 0
c.method(:two).arity     #=> 1
c.method(:three).arity   #=> -1
c.method(:four).arity    #=> 2
c.method(:five).arity    #=> -3
c.method(:six).arity     #=> -3
c.method(:seven).arity   #=> -3
c.method(:eight).arity   #=> 1
c.method(:nine).arity    #=> 1
c.method(:ten).arity     #=> -2
"cat".method(:size).arity      #=> 0
"cat".method(:replace).arity   #=> 1
"cat".method(:squeeze).arity   #=> -1
"cat".method(:count).arity     #=> -1‎

انظر أيضًا

  • التابع hash: يعيد رمز تجزئة التابع.

مصادر