الفرق بين المراجعتين لصفحة: «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المهمة الفرعية الرئيسية.