التابع bind
الخاص بالصنف UnboundMethod
في روبي
< Ruby | UnboundMethod
يربط التابع bind
التابع الحر umeth
بالكائن obj
(انظر فقرة البنية العامة). إذا كان Klass
هو الصنف الذي استُنسخ منه التابع الحر umeth
، فيجب أن يساوي التعبير obj.kind_of?(Klass)
القيمة true.
produces:
In test, class = C
In test, class = B
prog.rb:16:in `bind': bind argument must be an instance of B (TypeError)
from prog.rb:16
البنية العامة
bind(obj) → method
المعاملات
obj
القيمة المُعادة
أمثلة
مثال على استخدام التابع bind
:
class A
def test
puts "In test, class = #{self.class}"
end
end
class B < A
end
class C < B
end
um = B.instance_method(:test)
bm = um.bind(C.new)
bm.call
bm = um.bind(B.new)
bm.call
bm = um.bind(A.new)
bm.call
انظر أيضا
- التابع
arity
: يعيد التابعarity
مؤشرا لعدد الوسائط المقبولة من قبل التابع. يعيد عددًا صحيحًا غير سالب للتوابع التي تأخذ عددًا محددًا من الوسائطا. بالنسبة لتوابع روبي التي تأخذ عددًا متغيرًا من الوسائط، يًعاد العدد -n-1، حيث n هو عدد الوسائط المطلوبة. الوسائط المسماة (Keyword arguments) ستُعد وسيطاً إضافيًا واحدًا، وسيكون ذلك الوسيط إلزاميا إن كان أيٌّ من الوسائط المسماة كذلك. بالنسبة للتوابع المكتوبة بلغة C، سيُعاد العدد -1 إن كانت استدعاء تلك التوابع يأخذ عددًا متغيرًا من الوسائط. - التابع
clone
: يعيد التابعclone
نسخة من هذا التابع.