الفرق بين المراجعتين لصفحة: «Ruby/Array/sum»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>Array.sum</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method تصنيف: Ruby Arra...' |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق. |
||
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة) | |||
سطر 4: | سطر 4: | ||
[[تصنيف: Ruby Array]] | [[تصنيف: Ruby Array]] | ||
يجمع التابع <code>sum</code> عناصر المصفوفة التي استُدعيت معه مع بعضها بعضًا. | يجمع التابع <code>sum</code> عناصر المصفوفة التي استُدعيت معه مع بعضها بعضًا. | ||
إن مُرِّرت كتلة برمجية إلى هذا التابع، فستُطبَّق تلك الكتلة على كل عنصر من عناصر المصفوفة ثم ستُجمَع النواتج المعادة لجميع العناصر. في حال كانت المصفوفة فارغة، ستُعاد القيمة المُمرّرة إلى هذا التابع. | إن مُرِّرت كتلة برمجية إلى هذا التابع، فستُطبَّق تلك الكتلة على كل عنصر من عناصر المصفوفة ثم ستُجمَع النواتج المعادة لجميع العناصر. في حال كانت المصفوفة فارغة، ستُعاد القيمة المُمرّرة إلى هذا التابع. | ||
يمكن استخدام هذا التابع مع المصفوفات التي تحوي قيمًا غير عددية بتحديد قيمة مناسبة للوسيط <code>init</code>. | يمكن استخدام هذا التابع مع المصفوفات التي تحوي قيمًا غير عددية بتحديد قيمة مناسبة للوسيط <code>init</code>. | ||
يجدر التنبيه إلى أنّ التابعين [[Ruby/Array/join | <code>join</code>]] و [[Ruby/Array/flatten | <code>flatten</code>]] هما أسرع من التابع <code>sum</code> بالنسبة للمصفوفات التي تضم سلاسل نصية أو مصفوفات فرعية متشعبة. | |||
انتبه إلى أنَّ التابع <code>sum</code> قد لا يحترم توابع إعادة تعريف المعامل + مثل | يجدر التنبيه إلى أنّ التابعين [[Ruby/Array/join | <code>join</code>]] و<nowiki/>[[Ruby/Array/flatten | <code>flatten</code>]] هما أسرع من التابع <code>sum</code> بالنسبة للمصفوفات التي تضم سلاسل نصية أو مصفوفات فرعية متشعبة. | ||
انتبه إلى أنَّ التابع <code>sum</code> قد لا يحترم توابع إعادة تعريف المعامل <code>[[Ruby/Array/plus|+]]</code> مثل <code>+.Integer</code>. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby"> sum(init=0) → number | <syntaxhighlight lang="ruby">sum(init=0) → number | ||
sum(init=0) {|e| expr } → number | sum(init=0) {|e| expr } → number | ||
سطر 15: | سطر 19: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==المعاملات== | ==المعاملات== | ||
<code>init</code> | |||
=== <code>init</code> === | |||
العدد الذي يراد جمعه مع عناصر المصفوفة المعطاة. | العدد الذي يراد جمعه مع عناصر المصفوفة المعطاة. | ||
==القيم المعادة== | ==القيم المعادة== | ||
سطر 21: | سطر 26: | ||
==أمثلة== | ==أمثلة== | ||
أمثلة على استخدام التابع <code>sum</code>: | أمثلة على استخدام التابع <code>sum</code>: | ||
<syntaxhighlight lang="ruby"> [].sum #=> 0 | <syntaxhighlight lang="ruby">[].sum #=> 0 | ||
[].sum(0.0) #=> 0.0 | [].sum(0.0) #=> 0.0 | ||
[1, 2, 3].sum #=> 6 | [1, 2, 3].sum #=> 6 | ||
سطر 27: | سطر 32: | ||
[2.5, 3.0].sum(0.0) {|e| e * e } #=> 15.25 | [2.5, 3.0].sum(0.0) {|e| e * e } #=> 15.25 | ||
[Object.new].sum #=> TypeError | [Object.new].sum #=> TypeError | ||
أمثلة على استخدام التابع | أمثلة على استخدام التابع على مصفوفة تحوي قيمًا غير عددية: | ||
["a", "b", "c"].sum("") #=> "abc" | ["a", "b", "c"].sum("") #=> "abc" | ||
[[1], [[2]], [3]].sum([]) #=> [1, [2], 3] | [[1], [[2]], [3]].sum([]) #=> [1, [2], 3] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضًا== | ==انظر أيضًا== | ||
* المعامل +: يجمع مصفوفتين معًا في مصفوفة واحدة جديدة. | * المعامل <code>[[Ruby/Array/plus|+]]</code>: يجمع مصفوفتين معًا في مصفوفة واحدة جديدة. | ||
* التابع [[Ruby/Array/join | <code>join</code>]]: يجمع جميع عناصر المصفوفة التي استُدعيت معها سويةً في سلسلة نصية ويفصل بينها بفاصل معين. | * التابع<nowiki/>[[Ruby/Array/join | <code>join</code>]]: يجمع جميع عناصر المصفوفة التي استُدعيت معها سويةً في سلسلة نصية ويفصل بينها بفاصل معين. | ||
==مصادر== | ==مصادر== | ||
* قسم التابع sum في الصنف Array في توثيق روبي الرسمي. | * [https://ruby-doc.org/core-2.5.1/Array.html#method-i-sum قسم التابع sum في الصنف Array في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 10:10، 3 أكتوبر 2018
يجمع التابع sum
عناصر المصفوفة التي استُدعيت معه مع بعضها بعضًا.
إن مُرِّرت كتلة برمجية إلى هذا التابع، فستُطبَّق تلك الكتلة على كل عنصر من عناصر المصفوفة ثم ستُجمَع النواتج المعادة لجميع العناصر. في حال كانت المصفوفة فارغة، ستُعاد القيمة المُمرّرة إلى هذا التابع.
يمكن استخدام هذا التابع مع المصفوفات التي تحوي قيمًا غير عددية بتحديد قيمة مناسبة للوسيط init
.
يجدر التنبيه إلى أنّ التابعين join
و flatten
هما أسرع من التابع sum
بالنسبة للمصفوفات التي تضم سلاسل نصية أو مصفوفات فرعية متشعبة.
انتبه إلى أنَّ التابع sum
قد لا يحترم توابع إعادة تعريف المعامل +
مثل +.Integer
.
البنية العامة
sum(init=0) → number
sum(init=0) {|e| expr } → number
المعاملات
init
العدد الذي يراد جمعه مع عناصر المصفوفة المعطاة.
القيم المعادة
يعاد عدد يمثل ناتج جمع عناصر المصفوفة المعطاة بالإضافة إلى قيمة المعامل init
، أو القيم التي تعيدها الكتلة block
بعد تطبيقها على كل عنصر من عناصر تلك المصفوفة بالإضافة إلى قيمة المعامل init
أيضًا.
أمثلة
أمثلة على استخدام التابع sum
:
[].sum #=> 0
[].sum(0.0) #=> 0.0
[1, 2, 3].sum #=> 6
[3, 5.5].sum #=> 8.5
[2.5, 3.0].sum(0.0) {|e| e * e } #=> 15.25
[Object.new].sum #=> TypeError
أمثلة على استخدام التابع على مصفوفة تحوي قيمًا غير عددية:
["a", "b", "c"].sum("") #=> "abc"
[[1], [[2]], [3]].sum([]) #=> [1, [2], 3]
انظر أيضًا
- المعامل
+
: يجمع مصفوفتين معًا في مصفوفة واحدة جديدة. - التابع
join
: يجمع جميع عناصر المصفوفة التي استُدعيت معها سويةً في سلسلة نصية ويفصل بينها بفاصل معين.