التابع UnboundMethod.bind
في روبي
< Ruby | UnboundMethod
يربط bind
التابعَ الحرَّ الذي استُدعي معه بالكائن الذي مُرِّر إليه.
إذا كان Klass
هو الصنف الذي أُنشئ منه التابع الحر، فيجب أن يساوي التعبير obj.kind_of?(Klass)
القيمة true
.
البنية العامة
bind(obj) → method
المعاملات
obj
كائن يراد ربطه بالتابع الحر.
القيمة المعادة
يعاد التابع الناتج عن ربط التابع الحر بالكائن 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
الناتج:
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
انظر أيضًا
- التابع
clone
: يعيد نسخة من التابع.