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

من موسوعة حسوب
< Ruby‏ | Object
أنشأ الصفحة ب'{{DISPLAYTITLE:التابع Object.object_id في روبي}} يعيد التابع <code>‎__id__‎‎</code> (يدعى أيضًا <code>object_id</code>) مُعرِ...'
 
طلا ملخص تعديل
 
سطر 1: سطر 1:
{{DISPLAYTITLE:التابع Object.object_id في روبي}}
{{DISPLAYTITLE:التابع <code>Object.object_id</code> في روبي}}
 
يعيد التابع <code>‎__id__‎‎</code> (يدعى أيضًا <code>object_id</code>) مُعرِّفا عدديًا للكائن الذي استُدعي معه. سيُعاد نفس المعرِّف في كل مرة يُستدعى فيها التابع <code>object_id</code> مع الكائن نفسه، ولن يتشارك أي كائنين نشطين نفس المعرِّف.
يعيد التابع <code>‎__id__‎‎</code> (يدعى أيضًا <code>object_id</code>) مُعرِّفا عدديًا للكائن الذي استُدعي معه. سيُعاد نفس المعرِّف في كل مرة يُستدعى فيها التابع <code>object_id</code> مع الكائن نفسه، ولن يتشارك أي كائنين نشطين نفس المعرِّف.


سطر 8: سطر 7:


== البنية العامة ==
== البنية العامة ==
<syntaxhighlight lang="ruby">
object_id → integer
object_id → integer
</syntaxhighlight>


== القيم المعادة ==
== القيم المعادة ==
سطر 14: سطر 15:


== أمثلة ==
== أمثلة ==
مثالٌ عن استخدام التابع object_id:
مثالٌ عن استخدام التابع <code>object_id</code>:<syntaxhighlight lang="ruby">
 
Object.new.object_id == Object.new.object_id # => false
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
(21 * 2).object_id    == (21 * 2).object_id   # => true
"hi".freeze.object_id == "hi".freeze.object_id # => true


"hello".object_id     == "hello".object_id    # => false
</syntaxhighlight>
 
"hi".freeze.object_id == "hi".freeze.object_id # => true


== انظر أيضًا ==
== انظر أيضًا ==
* التابع itself: يُعيد الكائن المستقبل.
*التابع <code>[[Ruby/Object/itself|itself]]</code>: يُعيد الكائن المستقبل.
* التابع inspect: يُعيد سلسلةً نصيةً تحتوي تمثيلًا  يفهمه البشر للكائن الذي استدعي معه.
*التابع <code>[[Ruby/Object/inspect|inspect]]</code>: يُعيد سلسلةً نصيةً تحتوي تمثيلًا  يفهمه البشر للكائن الذي استدعي معه.
* التابع to_s: يُعيد سلسلةً نصيةً تُمثِّل الكائن الذي استدعي معه.
* التابع extend: يُضيف توابع النسخة من كُلِّ وحدةٍ مُرِّرت إليه إلى الكائن الذي استدعي معه.
* التابع display: يَطبع الكائن الذي استدعي معه على المنفذ المعطى.


*التابع <code>[[Ruby/Object/to s|to_s]]</code>: يُعيد سلسلةً نصيةً تُمثِّل الكائن الذي استدعي معه.
*التابع <code>[[Ruby/Object/extend|extend]]</code>: يُضيف توابع النسخة من كُلِّ وحدةٍ مُرِّرت إليه إلى الكائن الذي استدعي معه.
*التابع <code>[[Ruby/Object/display|display]]</code>: يَطبع الكائن الذي استدعي معه على المنفذ المعطى.
== مصادر ==
== مصادر ==
* صفحة التابع Object.object_id في توثيق روبي الرسمي.
* [http://ruby-doc.org/core-2.5.1/Object.html#method-i-object_id صفحة التابع object_id في الصنف Object في توثيق روبي الرسمي.]
[[تصنيف:Ruby]]
[[تصنيف:Ruby]]
[[تصنيف:Ruby Method]]
[[تصنيف:Ruby Method]]
[[تصنيف:Ruby Object]]
[[تصنيف:Ruby Object]]

المراجعة الحالية بتاريخ 17:40، 22 نوفمبر 2018

يعيد التابع ‎__id__‎‎ (يدعى أيضًا object_id) مُعرِّفا عدديًا للكائن الذي استُدعي معه. سيُعاد نفس المعرِّف في كل مرة يُستدعى فيها التابع object_id مع الكائن نفسه، ولن يتشارك أي كائنين نشطين نفس المعرِّف.

ملاحظة: يُعاد استخدام بعض كائنات الأصناف المٌضمّنة (built-in classes) وذلك لتحسين الأداء. هذا هو الحال بالنسبة للقيم المباشرة (immediate values) والسلاسل النصية الحرفية المجمدة (frozen string literals).

لا تُمرَّر القيم المباشرة بالمرجع (reference) ولكنَّها تُمرَّر بالقيمة، مثل nil، وtrue، وfalse، وFixnums، وSymbols، وFloats.

البنية العامة

object_id  integer

القيم المعادة

يُعاد عددٌ صحيحٌ يمثل معرِّف الكائن المعطى.

أمثلة

مثالٌ عن استخدام التابع object_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

انظر أيضًا

  • التابع itself: يُعيد الكائن المستقبل.
  • التابع inspect: يُعيد سلسلةً نصيةً تحتوي تمثيلًا  يفهمه البشر للكائن الذي استدعي معه.
  • التابع to_s: يُعيد سلسلةً نصيةً تُمثِّل الكائن الذي استدعي معه.
  • التابع extend: يُضيف توابع النسخة من كُلِّ وحدةٍ مُرِّرت إليه إلى الكائن الذي استدعي معه.
  • التابع display: يَطبع الكائن الذي استدعي معه على المنفذ المعطى.

مصادر