التابع UnboundMethod.bind‎ في روبي

من موسوعة حسوب
مراجعة 07:25، 8 ديسمبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (مراجعة وتدقيق.)

يربط 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: يعيد نسخة من التابع.

مصادر