الفرق بين المراجعتين لصفحة: «Ruby/Thread/new»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>new</code> الخاص بالصنف <code>Thread</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف:...' |
لا ملخص تعديل |
||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Thread]] | [[تصنيف: Ruby Thread]] | ||
ينشئ التابع <code>new</code> [[Ruby/Thread|مهمة فرعية]] جديدة | ينشئ التابع <code>new</code> [[Ruby/Thread|مهمة فرعية]] جديدة تنفّذ الكتلة المعطاة. | ||
سيتم تمرير كل الوسائط <code>args</code> (انظر فقرة البنية العامة) الممررة إلى <code>[[Ruby/Thread/new| | سيتم تمرير كل الوسائط <code>args</code> (انظر فقرة البنية العامة) الممررة إلى <code>[[Ruby/Thread/new|new]]</code> إلى الكتلة: | ||
سيُطلق استثناء <code>[[Ruby/ThreadError|ThreadError]]</code> إذا تم استدعاء <code>[[Ruby/Thread/new|new]]</code> دون كتلة. | |||
إذا كنت ترغب باشتقاق صنف فرعي (subclass) من <code>[[Ruby/Thread|Thread]]</code>، تأكد من استدعاء المتغير <code>super</code> داخل التابع <code>initialize</code>، وإلا سيُطلق الاستثناء<code>[[Ruby/ThreadError|ThreadError]]</code>. | |||
إذا كنت ترغب باشتقاق صنف فرعي (subclass) من <code>[[Ruby/Thread|Thread]]</code>، تأكد من استدعاء المتغير super داخل التابع <code>initialize</code>، وإلا سيُطلق <code>[[Ruby/ThreadError|ThreadError]]</code>. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">new { ... }→ thread | <syntaxhighlight lang="ruby">new { ... }→ thread | ||
سطر 18: | سطر 16: | ||
==المعاملات== | ==المعاملات== | ||
===<code>args</code>=== | ===<code>args</code>=== | ||
===<code> | الوسائط الممررة إلى الكتلة. | ||
===<code>proc</code>=== | |||
كائن من النوع <code>Proc</code> | |||
==القيمة المُعادة== | ==القيمة المُعادة== | ||
يعيد التابع <code>new</code> [[Ruby/Thread|مهمة فرعية]] جديدة | |||
==أمثلة== | ==أمثلة== | ||
مثال على استخدام التابع <code>new</code>: | مثال على استخدام التابع <code>new</code>: | ||
سطر 28: | سطر 32: | ||
==انظر أيضا== | ==انظر أيضا== | ||
* التابع <code>[[Ruby/Thread/main|main]]</code>: يُعيد التابع <code>main</code> [[Ruby/Thread|المهمة الفرعية]] الرئيسية. | * التابع <code>[[Ruby/Thread/main|main]]</code>: يُعيد التابع <code>main</code> [[Ruby/Thread|المهمة الفرعية]] الرئيسية. | ||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Thread.html#method-c-new قسم التابع new في الصنف Thread في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/Thread.html#method-c-new قسم التابع new في الصنف Thread في توثيق روبي الرسمي.] |
مراجعة 22:27، 5 نوفمبر 2018
ينشئ التابع new
مهمة فرعية جديدة تنفّذ الكتلة المعطاة.
سيتم تمرير كل الوسائط args
(انظر فقرة البنية العامة) الممررة إلى new
إلى الكتلة:
سيُطلق استثناء ThreadError
إذا تم استدعاء new
دون كتلة.
إذا كنت ترغب باشتقاق صنف فرعي (subclass) من Thread
، تأكد من استدعاء المتغير super
داخل التابع initialize
، وإلا سيُطلق الاستثناءThreadError
.
البنية العامة
new { ... }→ thread
new(*args, &proc)→ thread
new(*args) { |args| ... } → thread
المعاملات
args
الوسائط الممررة إلى الكتلة.
proc
كائن من النوع Proc
القيمة المُعادة
يعيد التابع new
مهمة فرعية جديدة
أمثلة
مثال على استخدام التابع new
:
arr = []
a, b, c = 1, 2, 3
Thread.new(a,b,c) { |d,e,f| arr << d << e << f }.join
arr #=> [1, 2, 3]
انظر أيضا
- التابع
main
: يُعيد التابعmain
المهمة الفرعية الرئيسية.