الفرق بين المراجعتين لصفحة: «Ruby/BasicObject/id»
< Ruby | BasicObject
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code> __id__</code> في الصنف <code>BasicObject</code> في روبي}}</noinclude> تصنيف: Ruby تصن...' |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق. |
||
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: التابع <code> __id__</code> في الصنف <code>BasicObject</code> في روبي}}</noinclude> | <noinclude>{{DISPLAYTITLE: التابع <code>__id__</code> في الصنف <code>BasicObject</code> في روبي}}</noinclude> | ||
[[تصنيف: Ruby]] | [[تصنيف: Ruby]] | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby | [[تصنيف: Ruby BasicObject]] | ||
يعيد التابع <code>__id__</code> (يدعى أيضًا <code>object_id</code>) مُعرِّفا عدديًا للكائن الذي استُدعي معه. سيُعاد نفس المعرِّف في كل مرة يُستدعى فيها التابع <code>object_id</code> مع الكائن نفسه، ولن يتشارك أي كائنين نشطين نفس المعرِّف. | يعيد التابع <code>__id__</code> (يدعى أيضًا <code>object_id</code>) مُعرِّفا عدديًا للكائن الذي استُدعي معه. سيُعاد نفس المعرِّف في كل مرة يُستدعى فيها التابع <code>object_id</code> مع الكائن نفسه، ولن يتشارك أي كائنين نشطين نفس المعرِّف. | ||
ملاحظة: يعاد استخدام بعض كائنات الأصناف المٌضمّنة ( | |||
لا تُمرَّر القيم المباشرة بالمرجع ( | '''ملاحظة''': يعاد استخدام بعض كائنات الأصناف المٌضمّنة (builtin classes) وذلك لتحسين الأداء. هذا هو الحال بالنسبة للقيم المباشرة (immediate values) والسلاسل النصية الحرفية المجمدة (frozen string literals). | ||
لا تُمرَّر القيم المباشرة بالمرجع (reference) ولكنَّها تُمرَّر بالقيمة، مثل <code>nil</code>، و <code>true</code>، و <code>false</code>، و <code>Fixnums</code>، و <code>Symbols</code>، و <code>Floats</code>. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby"> __id__ → integer | <syntaxhighlight lang="ruby">__id__ → integer | ||
object_id → integer | object_id → integer | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==القيم المعادة== | ==القيم المعادة== | ||
يعاد عدد صحيح يمثل | يعاد عدد صحيح يمثل معرِّف الكائن المعطى. | ||
==أمثلة== | ==أمثلة== | ||
مثال على استخدام التابع <code>__id__</code>: | مثال على استخدام التابع <code>__id__</code>: | ||
<syntaxhighlight lang="ruby"> Object.new.object_id == Object.new.object_id # => false | <syntaxhighlight lang="ruby">Object.new.object_id == Object.new.object_id # => false | ||
(21 * 2).object_id == (21 * 2).object_id # => true | (21 * 2).object_id == (21 * 2).object_id # => true | ||
"hello".object_id == "hello".object_id # => false | "hello".object_id == "hello".object_id # => false | ||
سطر 20: | سطر 22: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضًا== | ==انظر أيضًا== | ||
* التابع <code>__send__</code>: يستدعي تابعًا محددًا مع تمرير وسائط إليه. | * التابع [[Ruby/BasicObject/send|<code>__send__</code>]]: يستدعي تابعًا محددًا مع تمرير وسائط إليه. | ||
==مصادر== | ==مصادر== | ||
* قسم | * [http://ruby-doc.org/core-2.5.1/BasicObject.html#method-i-__id__ قسم التابع __id__ في الصنف BasicObject في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 08:00، 4 أكتوبر 2018
يعيد التابع __id__
(يدعى أيضًا object_id
) مُعرِّفا عدديًا للكائن الذي استُدعي معه. سيُعاد نفس المعرِّف في كل مرة يُستدعى فيها التابع object_id
مع الكائن نفسه، ولن يتشارك أي كائنين نشطين نفس المعرِّف.
ملاحظة: يعاد استخدام بعض كائنات الأصناف المٌضمّنة (builtin classes) وذلك لتحسين الأداء. هذا هو الحال بالنسبة للقيم المباشرة (immediate values) والسلاسل النصية الحرفية المجمدة (frozen string literals).
لا تُمرَّر القيم المباشرة بالمرجع (reference) ولكنَّها تُمرَّر بالقيمة، مثل nil
، و true
، و false
، و Fixnums
، و Symbols
، و Floats
.
البنية العامة
__id__ → integer
object_id → integer
القيم المعادة
يعاد عدد صحيح يمثل معرِّف الكائن المعطى.
أمثلة
مثال على استخدام التابع __id__
:
Object.new.object_id == Object.new.object_id # => false
(21 * 2).object_id == (21 * 2).object_id # => true
"hello".object_id == "hello".object_id # => false
"hi".freeze.object_id == "hi".freeze.object_id # => true
انظر أيضًا
- التابع
__send__
: يستدعي تابعًا محددًا مع تمرير وسائط إليه.