التابع 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نسخة من هذا التابع.