الفرق بين المراجعتين ل"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: يَطبع الكائن الذي استدعي معه على المنفذ المعطى.

مصادر