التابع arity
الخاص بالصنف UnboundMethod
في روبي
< Ruby | UnboundMethod
يعيد التابع arity
مؤشرا لعدد الوسائط المقبولة من قبل التابع. يعيد عددًا صحيحًا غير سالب للتوابع التي تأخذ عددًا محددًا من الوسائطا. بالنسبة لتوابع روبي التي تأخذ عددًا متغيرًا من الوسائط، يًعاد العدد -n-1، حيث n هو عدد الوسائط المطلوبة. الوسائط المسماة (Keyword arguments) ستُعد وسيطاً إضافيًا واحدًا، وسيكون ذلك الوسيط إلزاميا إن كان أيٌّ من الوسائط المسماة كذلك. بالنسبة للتوابع المكتوبة بلغة C، سيُعاد العدد -1 إن كانت استدعاء تلك التوابع يأخذ عددًا متغيرًا من الوسائط.
البنية العامة
arity → integer
القيمة المُعادة
أمثلة
مثال على استخدام التابع 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
انظر أيضا
- التابع
==
: يكون كائنان من النوع UnboundMethod متساويين إن كانا مرتبطين بنفس الكائن، وكانا يشيران إلى نفس تعريف التابع، وكان لهما نفس الصنف أو الوحد المالكة. - التابع
bind
: يربط التابعbind
المتعقبumeth
بالكائنobj
(انظر فقرة البنية العامة). إذا كانKlass
هو الصنف الذي استُنسخ منه المتعقبumeth
، فيجب أن يساوي التعبيرobj.kind_of?(Klass)
القيمة true.