الفرق بين المراجعتين ل"Ruby/Object/tap"

من موسوعة حسوب
< Ruby‏ | Object
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'{{DISPLAYTITLE:التابع Object.tap في روبي}} يُدخل التابع <code>tap</code> الكائن المعطى إلى الكتلة (block)، ثم يعيده....')
 
ط
سطر 1: سطر 1:
{{DISPLAYTITLE:التابع Object.tap في روبي}}
+
{{DISPLAYTITLE:التابع <code>Object.tap</code> في روبي}}
 
 
 
يُدخل التابع <code>tap</code> الكائن المعطى إلى الكتلة (block)، ثم يعيده. الهدف الأساسي من هذا التابع هو "التداخل في" سلسلة التوابع، بهدف تنفيذ عملياتٍ على النتائج الوسطية التي تنتج خلال تنفيذ السلسلة.
 
يُدخل التابع <code>tap</code> الكائن المعطى إلى الكتلة (block)، ثم يعيده. الهدف الأساسي من هذا التابع هو "التداخل في" سلسلة التوابع، بهدف تنفيذ عملياتٍ على النتائج الوسطية التي تنتج خلال تنفيذ السلسلة.
  
سطر 20: سطر 19:
  
 
== أمثلة ==
 
== أمثلة ==
مثالٌ عن استخدام التابع <code>tap</code>:
+
مثالٌ عن استخدام التابع <code>tap</code>:<syntaxhighlight lang="ruby">
 +
(1..10)                  .tap {|x| puts "original: #{x}" }
 +
  .to_a                  .tap {|x| puts "array:    #{x}" }
 +
  .select {|x| x.even? } .tap {|x| puts "evens:    #{x}" }
 +
  .map {|x| x*x }        .tap {|x| puts "squares:  #{x}" }
  
(1..10)                  .tap {|x| puts "original: #{x}" }
+
</syntaxhighlight>
  
 .to_a                  .tap {|x| puts "array:   #{x}" }
+
== انظر أيضًا ==
 
+
*التابع <code>[[Ruby/Object/class|class]]</code>: يعيد صنف الكائن المعطى.
 .select {|x| x.even? } .tap {|x| puts "evens:    #{x}" }
+
*التابع <code>[[Ruby/Object/clone|clone]]</code>: يُنتج نسخةً سطحيةً من الكائن المعطى.
  
 .map {|x| x*x }        .tap {|x| puts "squares:  #{x}" }
+
* التابع <code>[[Ruby/Object/dup|dup]]</code>: ينتج نسخةً سطحية من الكائن.
 
 
== انظر أيضًا ==
 
* التابع class: يعيد صنف الكائن المعطى.
 
* التابع clone: يُنتج نسخةً سطحيةً من الكائن المعطى.
 
* التابع dup: ينتج نسخةً سطحية من الكائن.
 
* التابع yield_self: يُدخل الكائن المعطى إلى الكتلة ويُعيد ناتج تنفيذ هذه الكتلة.
 
  
 +
* التابع <code>[[Ruby/Object/yield self|yield_self]]</code>: يُدخل الكائن المعطى إلى الكتلة ويُعيد ناتج تنفيذ هذه الكتلة.
 
== مصادر ==
 
== مصادر ==
 
* صفحة التابع Object.tap في توثيق روبي الرسمي.
 
* صفحة التابع Object.tap في توثيق روبي الرسمي.

مراجعة 16:02، 22 نوفمبر 2018

يُدخل التابع tap الكائن المعطى إلى الكتلة (block)، ثم يعيده. الهدف الأساسي من هذا التابع هو "التداخل في" سلسلة التوابع، بهدف تنفيذ عملياتٍ على النتائج الوسطية التي تنتج خلال تنفيذ السلسلة.

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

tap {|x| block }  obj

المعاملات

x

الكائن المراد إدخاله إلى الكتلة.

block

الكتلة المراد تنفيذها على الكائن.

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

يُعاد الكائن نفسه.

أمثلة

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

(1..10)                  .tap {|x| puts "original: #{x}" }
  .to_a                  .tap {|x| puts "array:    #{x}" }
  .select {|x| x.even? } .tap {|x| puts "evens:    #{x}" }
  .map {|x| x*x }        .tap {|x| puts "squares:  #{x}" }

انظر أيضًا

  • التابع class: يعيد صنف الكائن المعطى.
  • التابع clone: يُنتج نسخةً سطحيةً من الكائن المعطى.
  • التابع dup: ينتج نسخةً سطحية من الكائن.
  • التابع yield_self: يُدخل الكائن المعطى إلى الكتلة ويُعيد ناتج تنفيذ هذه الكتلة.

مصادر

  • صفحة التابع Object.tap في توثيق روبي الرسمي.