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

من موسوعة حسوب
< Ruby‏ | Object
أنشأ الصفحة ب'{{DISPLAYTITLE:التابع Object.inspect في روبي}} يُعيد التابع <code>inspect</code> سلسلةً نصيةً تحتوي تمثيلًا  يفهمه...'
 
طلا ملخص تعديل
 
سطر 1: سطر 1:
{{DISPLAYTITLE:التابع Object.inspect في روبي}}
{{DISPLAYTITLE:التابع <code>Object.inspect</code> في روبي}}
 
يُعيد التابع <code>inspect</code> سلسلةً نصيةً تحتوي تمثيلًا  يفهمه البشر للكائن الذي استدعي معه. يُظهر التابع افتراضيًا اسم الصنف، وترميزًا معبِّرًا عن رقم تعريف الكائن، وقائمةً من متغيرات النسخة وقيمها (عبر استدعاء التابع <code>inspect</code> على كلِّ واحدةٍ منها). يجب على الأصناف المعرَّفة من قبل المستخدم أن تُهمِل هذا التابع لتوفر تمثيلًا أفضل للكائن. عند تجاوز هذا التابع، يجب أن تُعاد سلسلةٌ نصيةٌ مرمزةٌ وفقًا للترميز الخارجي الافتراضي.
يُعيد التابع <code>inspect</code> سلسلةً نصيةً تحتوي تمثيلًا  يفهمه البشر للكائن الذي استدعي معه. يُظهر التابع افتراضيًا اسم الصنف، وترميزًا معبِّرًا عن رقم تعريف الكائن، وقائمةً من متغيرات النسخة وقيمها (عبر استدعاء التابع <code>inspect</code> على كلِّ واحدةٍ منها). يجب على الأصناف المعرَّفة من قبل المستخدم أن تُهمِل هذا التابع لتوفر تمثيلًا أفضل للكائن. عند تجاوز هذا التابع، يجب أن تُعاد سلسلةٌ نصيةٌ مرمزةٌ وفقًا للترميز الخارجي الافتراضي.


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


== القيم المعادة ==
== القيم المعادة ==
سطر 10: سطر 11:


== أمثلة ==
== أمثلة ==
مثالٌ عن استخدام التابع inspect:
مثالٌ عن استخدام التابع <code>inspect</code>:<syntaxhighlight lang="ruby">
 
[ 1, 2, 3..4, 'five' ].inspect   #=> "[1, 2, 3..4, \"five\"]"
[ 1, 2, 3..4, 'five' ].inspect   #=> "[1, 2, 3..4, \"five\"]"
Time.new.inspect                 #=> "2008-03-08 19:43:39 +0900"
 
Time.new.inspect                 #=> "2008-03-08 19:43:39 +0900"


class Foo
class Foo
end
end
 
Foo.new.inspect                 #=> "#<Foo:0x0300c868>"
Foo.new.inspect                  #=> "#<Foo:0x0300c868>"


class Bar
class Bar
 
  def initialize
 def initialize
    @bar = 1
 
  end
   @bar = 1
 
 end
 
end
end
Bar.new.inspect                  #=> "#<Bar:0x0300c868 @bar=1>"


Bar.new.inspect                  #=> "#<Bar:0x0300c868 @bar=1>"
</syntaxhighlight>


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


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

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

يُعيد التابع inspect سلسلةً نصيةً تحتوي تمثيلًا  يفهمه البشر للكائن الذي استدعي معه. يُظهر التابع افتراضيًا اسم الصنف، وترميزًا معبِّرًا عن رقم تعريف الكائن، وقائمةً من متغيرات النسخة وقيمها (عبر استدعاء التابع inspect على كلِّ واحدةٍ منها). يجب على الأصناف المعرَّفة من قبل المستخدم أن تُهمِل هذا التابع لتوفر تمثيلًا أفضل للكائن. عند تجاوز هذا التابع، يجب أن تُعاد سلسلةٌ نصيةٌ مرمزةٌ وفقًا للترميز الخارجي الافتراضي.

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

inspect  string

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

تُعاد سلسلةً نصيةً تمثِّل الكائن المعطى بصيغة يفهما البشر وتحوي اسم الصنف، وترميزًا معبِّرًا عن رقم تعريف الكائن، وقائمةً من متغيرات النسخة وقيمها.

أمثلة

مثالٌ عن استخدام التابع inspect:

[ 1, 2, 3..4, 'five' ].inspect   #=> "[1, 2, 3..4, \"five\"]"
Time.new.inspect                 #=> "2008-03-08 19:43:39 +0900"

class Foo
end
Foo.new.inspect                  #=> "#<Foo:0x0300c868>"

class Bar
  def initialize
    @bar = 1
  end
end
Bar.new.inspect                  #=> "#<Bar:0x0300c868 @bar=1>"

انظر أيضًا

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

مصادر