الفرق بين المراجعتين لصفحة: «Ruby/Object/object id»
أنشأ الصفحة ب'{{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 | (21 * 2).object_id == (21 * 2).object_id # => true | ||
"hello".object_id == "hello".object_id # => false | |||
(21 * 2).object_id | "hi".freeze.object_id == "hi".freeze.object_id # => true | ||
</syntaxhighlight> | |||
== انظر أيضًا == | == انظر أيضًا == | ||
* التابع itself: يُعيد الكائن المستقبل. | *التابع <code>[[Ruby/Object/itself|itself]]</code>: يُعيد الكائن المستقبل. | ||
* التابع inspect: يُعيد سلسلةً نصيةً تحتوي تمثيلًا يفهمه البشر للكائن الذي استدعي معه | *التابع <code>[[Ruby/Object/inspect|inspect]]</code>: يُعيد سلسلةً نصيةً تحتوي تمثيلًا يفهمه البشر للكائن الذي استدعي معه. | ||
*التابع <code>[[Ruby/Object/to s|to_s]]</code>: يُعيد سلسلةً نصيةً تُمثِّل الكائن الذي استدعي معه. | |||
*التابع <code>[[Ruby/Object/extend|extend]]</code>: يُضيف توابع النسخة من كُلِّ وحدةٍ مُرِّرت إليه إلى الكائن الذي استدعي معه. | |||
*التابع <code>[[Ruby/Object/display|display]]</code>: يَطبع الكائن الذي استدعي معه على المنفذ المعطى. | |||
== مصادر == | == مصادر == | ||
* صفحة التابع Object | * [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
: يَطبع الكائن الذي استدعي معه على المنفذ المعطى.