الفرق بين المراجعتين لصفحة: «Ruby/Method»

من موسوعة حسوب
لا ملخص تعديل
لا ملخص تعديل
سطر 12: سطر 12:
</syntaxhighlight>   
</syntaxhighlight>   


==توابع الصنف العامة (Public Class Methods)==
==توابع الكائن العامة (Public Instance Methods)==
===[[Ruby/Method/3D-3D | التابع ==]]===
=== [[Ruby/Method/equal|التابع ==]]===
يكاون كائنان من النوع Method متساويين إن كانا مرتبطين بنفس الكائن، وكانا يشيران إلى نفس تعريف التابع، وكان لهما نفس الصنف أو الوحدة (module) المالكة.
يكاون كائنان من النوع <code>Method</code> متساويين إن كانا مرتبطين بنفس الكائن، وكانا يشيران إلى نفس تعريف التابع، وكان لهما نفس الصنف أو الوحدة (module) المالكة.
===[[Ruby/Method/3D-3D-3D | التابع ===]]===
=== [[Ruby/Method/equal-3D|التابع ===]]===
يستدعي  الكتلة مع تمرير المعامل <code>obj</code> كوسيط لـ proc مثل <code>Proc#call</code>.  يسمح لكائن proc أن يكون هدفًا للكتلة <code>when</code> في التعليمة case.
يستدعي  كتلة التابع مع تمرير المعامل <code>obj</code> كوسيط لـ <code>proc</code>.
===[[Ruby/Method/5B-5D | التابع []]]===
=== [[Ruby/Method/index|التابع []]]===
يستدعي  الكتلة البرمجية للتابع، ويضبط قيم وسائط الكتلة عند القيم المعطاة params باستخدام صياغة مشابهة لاستدعاء التوابع. يعيد  قيمة آخر تعبير تم تقييمه في الكتلة.
يستدعي  الكتلة البرمجية للتابع، ويضبط قيم وسائط الكتلة عند القيم المعطاة.
===[[Ruby/Method/arity | التابع arity]]===
===[[Ruby/Method/arity | التابع arity]]===
يعيد  مؤشرا لعدد الوسائط المقبولة من قبل التابع. يعيد عددًا صحيحًا غير سالب للتوابع التي تأخذ عددًا محددًا من الوسائطا. بالنسبة لتوابع روبي التي تأخذ عددًا متغيرًا من الوسائط، يًعاد العدد -n-1، حيث n هو عدد الوسائط المطلوبة. الوسائط المسماة (Keyword arguments) ستُعد وسيطاً إضافيًا واحدًا، وسيكون ذلك الوسيط إلزاميا إن كان أيٌّ من الوسائط المسماة كذلك. بالنسبة للتوابع المكتوبة بلغة C، سيُعاد العدد -1 إن كانت استدعاء تلك التوابع يأخذ عددًا متغيرًا من الوسائط.
يعيد  مؤشرا لعدد الوسائط المقبولة من قبل التابع.
===[[Ruby/Method/call | التابع call]]===
===[[Ruby/Method/call | التابع call]]===
يستدعي  كتلة التابع، ويضبط وسائط الكتلة عند القيم المعطاة params باستخدام صياغة مشابهة لصياغة استدعاء التوابع. ثم يعد قيمة آخر تعبير تم تقييمه في الكتلة.
يستدعي  كتلة التابع، ويضبط وسائط الكتلة عند القيم المعطاة params باستخدام صياغة مشابهة لصياغة استدعاء التوابع.  
===[[Ruby/Method/clone | التابع clone]]===
===[[Ruby/Method/clone | التابع clone]]===
يعيد  نسخة من هذا التابع.
يعيد  نسخة من هذا التابع.
===[[Ruby/Method/curry | التابع curry]]===
===[[Ruby/Method/curry | التابع curry]]===
يعيد  كتلة proc مُجزّءة (curried proc) انطلاقا من التابع الذي استُدعيت معه. عندما يكون عدد الوسائط الممررة إلى الكتلة proc أقل من رتبة (arity) التابع، فستعاد كتلة proc مجزءة أخرى. لن يُستدعى التابع فعليًا إلا عندما يتم توفير الوسائط الكافية لإمضاء (signature) التابع.
يعيد  كتلة proc مُجزّءة (curried proc) انطلاقا من التابع الذي استُدعيت معه.  
===[[Ruby/Method/eql-3F | التابع eql?]]===
===[[Ruby/Method/eql-3F | التابع eql?]]===
يكون كائنان من النوع Method متساويتين إذا كانا مرتبطين بنفس الكائن، ويرجعان إلى نفس التعريف، وكانا مملوكين من قبل نفس الصنف أو الوحدة.
يكون كائنان من النوع <code>Method</code> متساويتين إذا كانا مرتبطين بنفس الكائن، ويرجعان إلى نفس التعريف، وكانا مملوكين من قبل نفس الصنف أو الوحدة.
===[[Ruby/Method/hash | التابع hash]]===
===[[Ruby/Method/hash | التابع hash]]===
يعيد  رمز التكويد (hash) المقابل لكائن Method الذي استُدعي معه.
يعيد  رمز التكويد (hash) المقابل لكائن <code>Method</code> الذي استُدعي معه.
===[[Ruby/Method/inspect | التابع inspect]]===
===[[Ruby/Method/inspect | التابع inspect]]===
يعيد  اسم التابع الأصلي (underlying method).
يعيد  اسم التابع الأصلي (underlying method).
سطر 38: سطر 38:
يعيد  الاسم الأصلي للتابع الذي استُدعي معه.
يعيد  الاسم الأصلي للتابع الذي استُدعي معه.
===[[Ruby/Method/owner | التابع owner]]===
===[[Ruby/Method/owner | التابع owner]]===
يعيد  الصنف أو الوحدة (module) التي تعرف التابع .
يعيد  الصنف أو الوحدة (module) التي تعرف التابع.
===[[Ruby/Method/parameters | التابع parameters]]===
===[[Ruby/Method/parameters | التابع parameters]]===
يعيد  معلومات عن وسائط التابع .
يعيد  معلومات عن وسائط التابع .
===[[Ruby/Method/receiver | التابع receiver]]===
===[[Ruby/Method/receiver | التابع receiver]]===
يعيد  المستقبل المتلقي (bound receiver) لكائن Method .
يعيد  المستقبل المتلقي (bound receiver) لكائن <code>Method</code> .
===[[Ruby/Method/source_location | التابع source_location]]===
===[[Ruby/Method/source_location | التابع source_location]]===
يعيد  اسم الملف المصدر لروبي ورقم السطر الذي يحتوي هذا التابع، أو يعيد nil إن لم يُعرّف هذا التابع في روبي (أي أصلي).
يعيد  اسم الملف المصدر لروبي ورقم السطر الذي يحتوي هذا التابع، أو يعيد <code>nil</code> إن لم يُعرّف هذا التابع في روبي (أي أصلي).
===[[Ruby/Method/super_method | التابع super_method]]===
===[[Ruby/Method/super_method | التابع super_method]]===
يعيد  كائنا من النوع <code>Method</code> للصنف الأب (superclass)، حتى يمكن استدعاؤه عند استخدام super، أو يعيد nil إن لم يكن هناك تابع في الصنف الأب.
يعيد  كائنا من النوع <code>Method</code> للصنف الأب (superclass)،  
===[[Ruby/Method/to_proc | التابع to_proc]]===
===[[Ruby/Method/to_proc | التابع to_proc]]===
يعيد  الكائنً من النوع <code>Proc</code> المقابل لهذا التابع.
يعيد  الكائنً من النوع <code>Proc</code> المقابل لهذا التابع.
سطر 52: سطر 52:
يعيد  اسم التابع الأصلي (underlying method).
يعيد  اسم التابع الأصلي (underlying method).
===[[Ruby/Method/unbind | التابع unbind]]===
===[[Ruby/Method/unbind | التابع unbind]]===
يفك  ارتباط تابع meth من مُستقبِله (receiver) الحالي. يمكن في وقت لاحق ربط <code>UnboundMethod</code> مع كائن جديد من نفس الصنف (انظر <code>UnboundMethod</code>).
يفك  ارتباط الكائن الذي استُدعي معه من مُستقبِله (receiver) الحالي.
 
 
==مصادر<span> </span>==
==مصادر<span> </span>==
*[http://ruby-doc.org/core-2.5.1/Marshal.html قسم  الصنف Marshal في توثيق روبي الرسمي.]
*[http://ruby-doc.org/core-2.5.1/Method.html قسم  الصنف Method في توثيق روبي الرسمي.]


<noinclude>{{DISPLAYTITLE: صفحة الصنف <code>Method</code> في روبي}}</noinclude>
<noinclude>{{DISPLAYTITLE: صفحة الصنف <code>Method</code> في روبي}}</noinclude>
[[تصنيف: Ruby]]
[[تصنيف: Ruby]]
[[تصنيف: Method]]
[[تصنيف: Method]]

مراجعة 21:30، 25 أكتوبر 2018

يتم إنشاء كائنات الصنف Method بواسطة التابع Object#method، وترتبط بكائن معين (وليس بالصنف وحسب). ويمكن استخدامها لاستدعاء التابع داخل الكائن، أو ككتلة (block) مرتبطة بمكرر (iterator). كما يمكن فك ارتباطها (unbound) من كائن محدد (سيؤدي ذلك إلى إنشاء كائن UnboundMethod)، ثم ربطها بآخر.

class Thing
  def square(n)
    n*n
  end
end
thing = Thing.new
meth  = thing.method(:square)

meth.call(9)                 #=> 81
[ 1, 2, 3 ].collect(&meth)   #=> [1, 4, 9]

توابع الكائن العامة (Public Instance Methods)

التابع ==

يكاون كائنان من النوع Method متساويين إن كانا مرتبطين بنفس الكائن، وكانا يشيران إلى نفس تعريف التابع، وكان لهما نفس الصنف أو الوحدة (module) المالكة.

التابع ===

يستدعي كتلة التابع مع تمرير المعامل obj كوسيط لـ proc.

التابع []

يستدعي الكتلة البرمجية للتابع، ويضبط قيم وسائط الكتلة عند القيم المعطاة.

التابع arity

يعيد مؤشرا لعدد الوسائط المقبولة من قبل التابع.

التابع call

يستدعي كتلة التابع، ويضبط وسائط الكتلة عند القيم المعطاة params باستخدام صياغة مشابهة لصياغة استدعاء التوابع.

التابع clone

يعيد نسخة من هذا التابع.

التابع curry

يعيد كتلة proc مُجزّءة (curried proc) انطلاقا من التابع الذي استُدعيت معه.

التابع eql?‎

يكون كائنان من النوع Method متساويتين إذا كانا مرتبطين بنفس الكائن، ويرجعان إلى نفس التعريف، وكانا مملوكين من قبل نفس الصنف أو الوحدة.

التابع hash

يعيد رمز التكويد (hash) المقابل لكائن Method الذي استُدعي معه.

التابع inspect

يعيد اسم التابع الأصلي (underlying method).

التابع name

يعيد اسم التابع.

التابع original_name

يعيد الاسم الأصلي للتابع الذي استُدعي معه.

التابع owner

يعيد الصنف أو الوحدة (module) التي تعرف التابع.

التابع parameters

يعيد معلومات عن وسائط التابع .

التابع receiver

يعيد المستقبل المتلقي (bound receiver) لكائن Method .

التابع source_location

يعيد اسم الملف المصدر لروبي ورقم السطر الذي يحتوي هذا التابع، أو يعيد nil إن لم يُعرّف هذا التابع في روبي (أي أصلي).

التابع super_method

يعيد كائنا من النوع Method للصنف الأب (superclass)،

التابع to_proc

يعيد الكائنً من النوع Proc المقابل لهذا التابع.

التابع to_s

يعيد اسم التابع الأصلي (underlying method).

التابع unbind

يفك ارتباط الكائن الذي استُدعي معه من مُستقبِله (receiver) الحالي.

مصادر