الفرق بين المراجعتين ل"Ruby/Object/tap"
اذهب إلى التنقل
اذهب إلى البحث
ط |
ط |
||
(مراجعة متوسطة واحدة بواسطة نفس المستخدم غير معروضة) | |||
سطر 35: | سطر 35: | ||
* التابع <code>[[Ruby/Object/yield self|yield_self]]</code>: يُدخل الكائن المعطى إلى الكتلة ويُعيد ناتج تنفيذ هذه الكتلة. | * التابع <code>[[Ruby/Object/yield self|yield_self]]</code>: يُدخل الكائن المعطى إلى الكتلة ويُعيد ناتج تنفيذ هذه الكتلة. | ||
== مصادر == | == مصادر == | ||
− | * صفحة التابع Object | + | * [http://ruby-doc.org/core-2.5.1/Object.html#method-i-tap صفحة التابع tap في الصنف Object في توثيق روبي الرسمي.] |
[[تصنيف:Ruby]] | [[تصنيف:Ruby]] | ||
[[تصنيف:Ruby Method]] | [[تصنيف:Ruby Method]] | ||
[[تصنيف:Ruby Object]] | [[تصنيف:Ruby Object]] |
المراجعة الحالية بتاريخ 16:33، 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}" }
انظر أيضًا
- التابع
dup
: ينتج نسخةً سطحية من الكائن.
- التابع
yield_self
: يُدخل الكائن المعطى إلى الكتلة ويُعيد ناتج تنفيذ هذه الكتلة.