الفرق بين المراجعتين لصفحة: «Ruby/Kernel»
لا ملخص تعديل |
لا ملخص تعديل |
||
سطر 2: | سطر 2: | ||
[[تصنيف: Ruby]] | [[تصنيف: Ruby]] | ||
[[تصنيف: Ruby Kernel]] | [[تصنيف: Ruby Kernel]] | ||
الوحدة <code>Kernel</code> مُتضمّنة من طرف الصنف <code>[[Ruby/Object|Object]]</code>، لذلك | الوحدة <code>Kernel</code> مُتضمّنة من طرف الصنف <code>[[Ruby/Object|Object]]</code>، لذلك فتوابعها متاحة في كل كائنات روبي. | ||
توابع نسخ الصنف <code>Kernel</code> مُوثّقة في صفحة الصنف <code>[[Ruby/Object|Object]]</code>، أما توابع الوحدة <code>Kernel</code> فهي مُوثقة هنا. تستدعى هذه التوابع بدون مستقبل (receiver)، وبالتالي يمكن استدعاؤها وفق الشكل الدوالي:<syntaxhighlight lang="ruby"> | توابع نسخ الصنف <code>Kernel</code> مُوثّقة في صفحة الصنف <code>[[Ruby/Object|Object]]</code>، أما توابع الوحدة <code>Kernel</code> فهي مُوثقة هنا. تستدعى هذه التوابع بدون مستقبل (receiver)، وبالتالي يمكن استدعاؤها وفق الشكل الدوالي:<syntaxhighlight lang="ruby"> | ||
سطر 42: | سطر 42: | ||
يعيد التابع القيمة <code>true</code> إذا كان <code>yield</code> سينفذ كتلة برمجية في السياق الحالي. | يعيد التابع القيمة <code>true</code> إذا كان <code>yield</code> سينفذ كتلة برمجية في السياق الحالي. | ||
===[[Ruby/Kernel/callcc | التابع callcc]]=== | ===[[Ruby/Kernel/callcc | التابع callcc]]=== | ||
يولد التابع <code>callcc</code> كائنًا من النوع <code>[[Ruby/Continuation|Continuation]]</code>، والذي يُمرّر إلى الكتلة البرمجية المعطاة. سيكون عليك أن تستورد <code>'continuation'</code> قبل استخدام هذا التابع. | |||
===[[Ruby/Kernel/caller | التابع caller]]=== | ===[[Ruby/Kernel/caller | التابع caller]]=== | ||
يعيد التابع مكدس التنفيذ الحالي (execution stack)، | يعيد التابع مكدس التنفيذ الحالي (execution stack)، | ||
===[[Ruby/Kernel/caller_locations | التابع caller_locations]]=== | ===[[Ruby/Kernel/caller_locations | التابع caller_locations]]=== | ||
يعيد التابع مكدس التنفيذ الحالي، والذي هو عبارة عن مصفوفة تحتوي كائنات تعقب (backtrace location objects). | يعيد التابع مكدس التنفيذ الحالي، والذي هو عبارة عن مصفوفة تحتوي كائنات تعقب (backtrace location objects). | ||
سطر 50: | سطر 51: | ||
ينفذ <code>catch</code> كتلته البرمجية في حال عدم استدعاء <code>throw</code>، فستنفّذ الكتلة بشكل طبيعي، وسيعيد <code>catch</code> قيمة آخر تعبير تم تقييمه. | ينفذ <code>catch</code> كتلته البرمجية في حال عدم استدعاء <code>throw</code>، فستنفّذ الكتلة بشكل طبيعي، وسيعيد <code>catch</code> قيمة آخر تعبير تم تقييمه. | ||
===[[Ruby/Kernel/chomp | التابع chomp]]=== | ===[[Ruby/Kernel/chomp | التابع chomp]]=== | ||
يكافئ التابع التعبير <code>$_ = $_.chomp( string )</code> | يكافئ التابع التعبير <code>$_ = $_.chomp( string )</code>. | ||
===[[Ruby/Kernel/chop | التابع chop]]=== | ===[[Ruby/Kernel/chop | التابع chop]]=== | ||
يكافئ | يكافئ التابع <code>chop</code> التعبير <code>($_.dup).chop!</code> ، باستثناء أنّ <code>nil</code> لا تُعاد أبدًا. انظر صفحة <code>!String#chop</code>. | ||
===[[Ruby/Kernel/eval | التابع eval]]=== | ===[[Ruby/Kernel/eval | التابع eval]]=== | ||
يقيم (Evaluates) التابع تعبيرات روبي الموجودة في سلاسل نصية | يقيم (Evaluates) التابع تعبيرات روبي الموجودة في سلاسل نصية. | ||
===[[Ruby/Kernel/exec | التابع exec]]=== | ===[[Ruby/Kernel/exec | التابع exec]]=== | ||
يستبدل التابع العملية الحالية عن طريق تشغيل الأمر الخارجي المعطى، والذي يمكن أن يأخذ أحد الأشكال التالية: | يستبدل التابع العملية الحالية عن طريق تشغيل الأمر الخارجي المعطى، والذي يمكن أن يأخذ أحد الأشكال التالية: | ||
===[[Ruby/Kernel/exit | التابع exit]]=== | ===[[Ruby/Kernel/exit | التابع exit]]=== | ||
يبدأ التابع عملية إنهاء البرنامج النصي لروبي، عن طريق إطلاق استثناء <code>SystemExit</code> | يبدأ التابع عملية إنهاء البرنامج النصي لروبي، عن طريق إطلاق استثناء <code>SystemExit</code>. | ||
===[[Ruby/Kernel/exit-21 | التابع exit!]]=== | ===[[Ruby/Kernel/exit-21 | التابع exit!]]=== | ||
ينهي العملية على الفور. لا يتم تنفيذ أي معالجات إنهاء (exit handlers | ينهي العملية على الفور. لا يتم تنفيذ أي معالجات إنهاء (exit handlers). | ||
===[[Ruby/Kernel/fail | التابع fail]]=== | ===[[Ruby/Kernel/fail | التابع fail]]=== | ||
في حال استدعاء التابع بدون إعطاء أي وسائط، فسبُطلق الاستثناء في <code>$!</code> أو يطلق <code>RuntimeError</code> إذا كان <code>$!</code> يساوي <code>nil | في حال استدعاء التابع بدون إعطاء أي وسائط، فسبُطلق الاستثناء في <code>$!</code> أو يطلق <code>RuntimeError</code> إذا كان <code>$!</code> يساوي <code>nil</code>. | ||
===[[Ruby/Kernel/fork | التابع fork]]=== | ===[[Ruby/Kernel/fork | التابع fork]]=== | ||
ينشئ التابع عملية فرعية (subprocess | ينشئ التابع عملية فرعية (subprocess). | ||
===[[Ruby/Kernel/format | التابع format]]=== | ===[[Ruby/Kernel/format | التابع format]]=== | ||
يعيد التابع السلسلة النصية الناتجة من تطبيق format_string على | يعيد التابع السلسلة النصية الناتجة من تطبيق format_string على الوسائط الإضافية. | ||
===[[Ruby/Kernel/gets | التابع gets]]=== | ===[[Ruby/Kernel/gets | التابع gets]]=== | ||
يعيد | يعيد التابع <code>gets</code> (ويُحيل على <code>$_</code>) السطر الموالي من قائمة الملفات في المجرى <code>ARGV</code> (أو <code>$*</code>)، أو من مجرى الإدخال القياسي في حالة عدم تمرير أي ملفات في سطر الأوامر. ويعيد <code>nil</code> عند نهاية الملف. | ||
===[[Ruby/Kernel/global_variables | التابع global_variables]]=== | ===[[Ruby/Kernel/global_variables | التابع global_variables]]=== | ||
يعيد التابع global_variables مصفوفة تضم أسماء المتغيرات الكلية (global variables). | يعيد التابع global_variables مصفوفة تضم أسماء المتغيرات الكلية (global variables). | ||
===[[Ruby/Kernel/gsub | التابع gsub]]=== | ===[[Ruby/Kernel/gsub | التابع gsub]]=== | ||
يكافئ | يكافئ التابع <code>gsub</code> التعبير <code>$_.gsub...</code>، باستثناء أنه سيتم تحديث <code>$_</code> في حال حدوث استبدال. متوفر فقط عند تحديد خيار سطر الأوامر <code>-p/-n</code> | ||
===[[Ruby/Kernel/iterator-3F | التابع iterator?]]=== | ===[[Ruby/Kernel/iterator-3F | التابع iterator?]]=== | ||
يعيد التابع iterator? القيمة <code>true</code> إذا كان <code>yield</code> سينفذ كتلة برمجية في السياق الراهن. لقد صار الشكل <code>iterator?</code> متجاوزًا إلى حد ما. | يعيد التابع iterator? القيمة <code>true</code> إذا كان <code>yield</code> سينفذ كتلة برمجية في السياق الراهن. لقد صار الشكل <code>iterator?</code> متجاوزًا إلى حد ما. | ||
===[[Ruby/Kernel/lambda | التابع lambda]]=== | ===[[Ruby/Kernel/lambda | التابع lambda]]=== | ||
يكافئ التابع lambda التعبير <code>Proc.new</code>، باستثناء أنّ كائنات <code>Proc</code> الناتجة ستتحقق من عدد الوسائط الممررة عند استدعائها. | يكافئ التابع lambda التعبير <code>Proc.new</code>، باستثناء أنّ كائنات <code>Proc</code> الناتجة ستتحقق من عدد الوسائط الممررة عند استدعائها. | ||
===[[Ruby/Kernel/load | التابع load]]=== | ===[[Ruby/Kernel/load | التابع load]]=== | ||
يحمل التابع load وينفّذ برنامج روبي في الملف filename | يحمل التابع load وينفّذ برنامج روبي في الملف filename. | ||
===[[Ruby/Kernel/local_variables | التابع local_variables]]=== | ===[[Ruby/Kernel/local_variables | التابع local_variables]]=== | ||
يعيد التابع local_variables أسماء المتغيرات المحلية الحالية. | يعيد التابع local_variables أسماء المتغيرات المحلية الحالية. | ||
سطر 86: | سطر 87: | ||
ينشئ التابع open كائنًا من النوع <code>IO</code> متصلا بالمجرى أو الملف أو العملية الفرعية (subprocess) المحددة. | ينشئ التابع open كائنًا من النوع <code>IO</code> متصلا بالمجرى أو الملف أو العملية الفرعية (subprocess) المحددة. | ||
===[[Ruby/Kernel/p | التابع p]]=== | ===[[Ruby/Kernel/p | التابع p]]=== | ||
يكتب | يكتب التابع <code>p</code> في مجرى الإخراج القياسي للبرنامج ناتج التعبير <code>''obj''.inspect</code>مباشرة ، متبوعًا بسطر جديد، لكل كائن <code>''obj''</code> يُمرر إليه. | ||
===[[Ruby/Kernel/print | التابع print]]=== | ===[[Ruby/Kernel/print | التابع print]]=== | ||
يطبع التابع print الكائنات الممرة إليه بالتتابع في المجرى <code>$stdout</code> | يطبع التابع <code>print</code> الكائنات الممرة إليه بالتتابع في المجرى <code>$stdout</code>. | ||
===[[Ruby/Kernel/printf | التابع printf]]=== | ===[[Ruby/Kernel/printf | التابع printf]]=== | ||
يكافئ التابع printf التعبير: | يكافئ التابع printf التعبير: <code> io.write(sprintf(string, obj, ...))</code> | ||
===[[Ruby/Kernel/proc | التابع proc]]=== | ===[[Ruby/Kernel/proc | التابع proc]]=== | ||
يكافي التابع proc التعبير <code>Proc.new</code>. | يكافي التابع <code>proc</code> التعبير <code>Proc.new</code>. | ||
===[[Ruby/Kernel/putc | التابع putc]]=== | ===[[Ruby/Kernel/putc | التابع putc]]=== | ||
يكافئ التابع putc التعبير: | يكافئ التابع putc التعبير: <code>$stdout.putc(int)</code> | ||
===[[Ruby/Kernel/puts | التابع puts]]=== | ===[[Ruby/Kernel/puts | التابع puts]]=== | ||
يكافئ التابع puts التعبير: | يكافئ التابع puts التعبير: <code>$stdout.puts(obj, ...)</code> | ||
===[[Ruby/Kernel/raise | التابع raise]]=== | ===[[Ruby/Kernel/raise | التابع raise]]=== | ||
في حال عدم تمريرأي وسائط، سيطلق التابع raise استثناء في <code>$!</code> أو يطلق <code>RuntimeError</code> إن كان <code>$!</code> يساوي <code>nil | في حال عدم تمريرأي وسائط، سيطلق التابع raise استثناء في <code>$!</code> أو يطلق <code>RuntimeError</code> إن كان <code>$!</code> يساوي <code>nil</code>. | ||
===[[Ruby/Kernel/rand | التابع rand]]=== | ===[[Ruby/Kernel/rand | التابع rand]]=== | ||
في حال استدعاء التابع rand بدون تمرير وسائط إليه، أو إن كان <code>max.to_i.abs == 0</code>، فسيعيد التابع rand عدد عشري شبه عشوائي (pseudo-random) محصور بين 0.0 و 1.0، متضمنا 0.0، وباستثناء 1.0. | في حال استدعاء التابع <code>rand</code> بدون تمرير وسائط إليه، أو إن كان <code>max.to_i.abs == 0</code>، فسيعيد التابع <code>rand</code> عدد عشري شبه عشوائي (pseudo-random) محصور بين 0.0 و 1.0، متضمنا 0.0، وباستثناء 1.0. | ||
===[[Ruby/Kernel/readline | التابع readline]]=== | ===[[Ruby/Kernel/readline | التابع readline]]=== | ||
يكافئ التابع readline التعبير <code>Kernel::gets</code> ، باستثناء أنّ <code>readline</code> تطلق خطأ <code>EOFError</code> عند نهاية الملف. | يكافئ التابع <code>readline</code> التعبير <code>Kernel::gets</code> ، باستثناء أنّ <code>readline</code> تطلق خطأ <code>EOFError</code> عند نهاية الملف. | ||
===[[Ruby/Kernel/readlines | التابع readlines]]=== | ===[[Ruby/Kernel/readlines | التابع readlines]]=== | ||
يعيد التابع readlines مصفوفة تحتوي الأسطر المُعادة من استدعاء <code>Kernel.gets( sep )</code> حتى نهاية الملف. | يعيد التابع <code>readlines</code> مصفوفة تحتوي الأسطر المُعادة من استدعاء <code>Kernel.gets( sep )</code> حتى نهاية الملف. | ||
===[[Ruby/Kernel/require | التابع require]]=== | ===[[Ruby/Kernel/require | التابع require]]=== | ||
بحمل التابع | بحمل التابع <code>require</code> الوسيط المُعطى <code>name</code>، | ||
===[[Ruby/Kernel/require_relative | التابع require_relative]]=== | ===[[Ruby/Kernel/require_relative | التابع require_relative]]=== | ||
عند استدعاء هذا التابع ستحاول روبي تحميل المكتبة المسماة في الوسيط المعطى string نسبة إلى مسار الملف المطلوب. | عند استدعاء هذا التابع ستحاول روبي تحميل المكتبة المسماة في الوسيط المعطى <code>string</code> نسبة إلى مسار الملف المطلوب. | ||
===[[Ruby/Kernel/select | التابع select]]=== | ===[[Ruby/Kernel/select | التابع select]]=== | ||
يستدعي | يستدعي select(2). ويقوم بمراقبة المصفوفة المعطاة المكونة من كائنات <code>IO</code>، وينتظر حتى يكون أحد كائنات <code>IO</code> جاهزًا للقراءة ، وجاهزا للكتابة، ويكون لها استثناءات معلقة (pending exceptions) على التوالي، ثم يعيد مصفوفة تحتوي على مصفوفات مكونة من تلك كائنات <code>IO</code> السابقة. ستُعاد القيمة <code>nil</code> إذا تم إعطاء قيمة للوسيط الاختياري timeout، ولم يكن هناك أي كائن <code>IO</code> جاهزًا خلال timeout ثانية. | ||
===[[Ruby/Kernel/set_trace_func | التابع set_trace_func]]=== | ===[[Ruby/Kernel/set_trace_func | التابع set_trace_func]]=== | ||
يجعل التابع set_trace_func الوسيط المعطى proc كمتعقب (handler for tracing)، أو يعطل التعقب إن كان الوسيط يساوي <code>nil</code>. | يجعل التابع set_trace_func الوسيط المعطى proc كمتعقب (handler for tracing)، أو يعطل التعقب إن كان الوسيط يساوي <code>nil</code>. | ||
===[[Ruby/Kernel/sleep | التابع sleep]]=== | ===[[Ruby/Kernel/sleep | التابع sleep]]=== | ||
يعلّق التابع sleep المهمة الفرعية (thread) الحالية لعدد من الثواني | يعلّق التابع sleep المهمة الفرعية (thread) الحالية لعدد من الثواني. | ||
===[[Ruby/Kernel/spawn | التابع spawn]]=== | ===[[Ruby/Kernel/spawn | التابع spawn]]=== | ||
ينفذ التابع spawn تعليمة محددة، ثم يعيد معرفها (pid). | ينفذ التابع spawn تعليمة محددة، ثم يعيد معرفها (pid). | ||
===[[Ruby/Kernel/sprintf | التابع sprintf]]=== | ===[[Ruby/Kernel/sprintf | التابع sprintf]]=== | ||
يعيد التابع sprintf السلسلة النصية الناتجة من تطبيق format_string على الوسائط الإضافية | يعيد التابع <code>sprintf</code> السلسلة النصية الناتجة من تطبيق <code>format_string</code> على الوسائط الإضافية. | ||
===[[Ruby/Kernel/srand | التابع srand]]=== | ===[[Ruby/Kernel/srand | التابع srand]]=== | ||
يحدد التابع srand بذرة مولد الأعداد شبه العشوائية (system pseudo-random number generator)، | يحدد التابع <code>srand</code> بذرة مولد الأعداد شبه العشوائية (system pseudo-random number generator)، | ||
===[[Ruby/Kernel/sub | التابع sub]]=== | ===[[Ruby/Kernel/sub | التابع sub]]=== | ||
يكافئ التابع sub التعبير <code>$_.sub( args )</code> ، باستثناء أنه سيتم تحديث <code>$ | يكافئ التابع <code>sub</code> التعبير <code>$_.sub( args )</code> ، باستثناء أنه سيتم تحديث <code>$_</code> إذا حدث استبدال. | ||
===[[Ruby/Kernel/syscall | التابع syscall]]=== | ===[[Ruby/Kernel/syscall | التابع syscall]]=== | ||
يستدعي التابع syscall دالة نظام التشغيل المحددة بواسطة | يستدعي التابع <code>syscall</code> دالة نظام التشغيل المحددة بواسطة <code>num</code> | ||
===[[Ruby/Kernel/system | التابع system]]=== | ===[[Ruby/Kernel/system | التابع system]]=== | ||
ينفذ | ينفذ التابع <code>system</code> التعليمة المعطاة <code>command…</code> في صدفة فرعية (subshell). تأخذ التعليمة <code>command…</code> أحد الأشكال التالية. | ||
===[[Ruby/Kernel/test | التابع test]]=== | ===[[Ruby/Kernel/test | التابع test]]=== | ||
يستخدم التابع test الحرف <code>cmd</code> لإجراء عدة اختبارات على | يستخدم التابع test الحرف <code>cmd</code> لإجراء عدة اختبارات على الملفات. | ||
===[[Ruby/Kernel/throw | التابع throw]]=== | ===[[Ruby/Kernel/throw | التابع throw]]=== | ||
ينقل | ينقل التابع <code>throw</code> الضبط (control) إلى نهاية كتلة <code>catch</code> المُترقبة للوسم المعطى (<code>tag</code>). إذا لم يكن هناك كتلة <code>catch</code> لذلك الوسم، فسيطلق خطأ<code>UncaughtThrowError</code>. يوفر الوسيط الاختياري الثاني <code>obj</code> في حال تمريره قيمة لتُعيدها الكتلة <code>catch</code>، وإلا فستعيد<code>nil</code>. للحصول على بعض الأمثلة، انظر صفحة التابع <code>[[Ruby/Kernel/catch|catch]]</code>. | ||
===[[Ruby/Kernel/trace_var | التابع trace_var]]=== | ===[[Ruby/Kernel/trace_var | التابع trace_var]]=== | ||
يضبط التابع | يضبط التابع <code>trace_var</code> تعقّبات تعيين المتغيرات الكلية. | ||
===[[Ruby/Kernel/trap | التابع trap]]=== | ===[[Ruby/Kernel/trap | التابع trap]]=== | ||
يحدد التابع trap معالج الإشارات (handling of signals) | يحدد التابع <code>trap</code> معالج الإشارات (handling of signals). | ||
===[[Ruby/Kernel/untrace_var | التابع untrace_var]]=== | ===[[Ruby/Kernel/untrace_var | التابع untrace_var]]=== | ||
يزيل التابع | يزيل التابع <code>untrace_var</code> التعقب للتعليمة المحددة | ||
===[[Ruby/Kernel/warn | التابع warn]]=== | ===[[Ruby/Kernel/warn | التابع warn]]=== | ||
ينقل التابع <code>throw</code> الضبط (control) إلى نهاية كتلة <code>catch</code> المُترقبة للوسم المعطى (<code>tag</code>). إذا لم يكن هناك كتلة <code>catch</code> لذلك الوسم، فسيطلق خطأ<code>UncaughtThrowError</code>. يوفر الوسيط الاختياري الثاني <code>obj</code> في حال تمريره قيمة لتُعيدها الكتلة <code>catch</code>، وإلا فستعيد<code>nil</code>. للحصول على بعض الأمثلة، انظر صفحة التابع <code>[[Ruby/Kernel/catch|catch]]</code>. | |||
==مصادر<span> </span>== | ==مصادر<span> </span>== | ||
*[http://ruby-doc.org/core-2.5.1/Kernel.html قسم الصنف Kernel في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/Kernel.html قسم الصنف Kernel في توثيق روبي الرسمي.] |
مراجعة 01:48، 24 أكتوبر 2018
الوحدة Kernel
مُتضمّنة من طرف الصنف Object
، لذلك فتوابعها متاحة في كل كائنات روبي.
توابع نسخ الصنف Kernel
مُوثّقة في صفحة الصنف Object
، أما توابع الوحدة Kernel
فهي مُوثقة هنا. تستدعى هذه التوابع بدون مستقبل (receiver)، وبالتالي يمكن استدعاؤها وفق الشكل الدوالي:
sprintf "%.1f", 1.234 #=> "1.2"
توابع الصنف العامة (Public Class Methods)
التابع Array
يعيد الوسيط المعطى على شكل مصفوفة (Array
).
التابع Complex
يعيد التابع ناتج التعبير x + i * y
؛ حيث i
هو الوحدة التخيلية العقدية.
التابع Hash
يحول الوسيط المعطى إلى قاموس Hash
عبر استدعاء arg.to_hash
.
التابع Integer
يحول الوسيط المعطى إلى عدد صحيح (Integer
).
يعيد ناتج العملية x/y
أو الوسيط المعطى arg
على شكل عدد جذري (Rational
).
التابع String
يعيد الوسيط المعطى على شكل سلسلة نصية (String
).
التابع __callee__
يعيد اسم التابع الحالي على شكل رمز (Symbol
).
التابع __dir__
يعيد المسار المطلق القانوني (canonicalized absolute path) لمجلد الملف الذي استُدعي هذا التابع منه.
التابع __method__
يعيد التابع الاسم المعطى للتابع الحالي عند تعريفه على شكل رمز (Symbol
).
التابع `
يعيد مجرى المخرجات القياسية (standard output) لتنفيذ التعليمة المعطاة في محث فرعي (subshell).
التابع abort
ينهي التابع التنفيذ على الفور، عبر استدعاء Kernel.exit(false)
.
التابع at_exit
يحول التابع الكتلة البرمجية إلى كائن من النوع Proc
التابع autoload
يسجل التابع اسم الملف filename
لكي يُحمَّل.
التابع autoload?
يعيد التابع اسم الملف filename
ليتم تحميله إذا تم تسجيل الوسيط المعطى name
على شكل autoload
.
التابع binding
يعيد التابع كائنًا من النوع Binding
، والذي يصف ويحدد ارتباطات المتغيرات والتوابع لحظة الاستدعاء.
التابع block_given?
يعيد التابع القيمة true
إذا كان yield
سينفذ كتلة برمجية في السياق الحالي.
التابع callcc
يولد التابع callcc
كائنًا من النوع Continuation
، والذي يُمرّر إلى الكتلة البرمجية المعطاة. سيكون عليك أن تستورد 'continuation'
قبل استخدام هذا التابع.
التابع caller
يعيد التابع مكدس التنفيذ الحالي (execution stack)،
التابع caller_locations
يعيد التابع مكدس التنفيذ الحالي، والذي هو عبارة عن مصفوفة تحتوي كائنات تعقب (backtrace location objects).
التابع catch
ينفذ catch
كتلته البرمجية في حال عدم استدعاء throw
، فستنفّذ الكتلة بشكل طبيعي، وسيعيد catch
قيمة آخر تعبير تم تقييمه.
التابع chomp
يكافئ التابع التعبير $_ = $_.chomp( string )
.
التابع chop
يكافئ التابع chop
التعبير ($_.dup).chop!
، باستثناء أنّ nil
لا تُعاد أبدًا. انظر صفحة !String#chop
.
التابع eval
يقيم (Evaluates) التابع تعبيرات روبي الموجودة في سلاسل نصية.
التابع exec
يستبدل التابع العملية الحالية عن طريق تشغيل الأمر الخارجي المعطى، والذي يمكن أن يأخذ أحد الأشكال التالية:
التابع exit
يبدأ التابع عملية إنهاء البرنامج النصي لروبي، عن طريق إطلاق استثناء SystemExit
.
التابع exit!
ينهي العملية على الفور. لا يتم تنفيذ أي معالجات إنهاء (exit handlers).
التابع fail
في حال استدعاء التابع بدون إعطاء أي وسائط، فسبُطلق الاستثناء في $!
أو يطلق RuntimeError
إذا كان $!
يساوي nil
.
التابع fork
ينشئ التابع عملية فرعية (subprocess).
التابع format
يعيد التابع السلسلة النصية الناتجة من تطبيق format_string على الوسائط الإضافية.
التابع gets
يعيد التابع gets
(ويُحيل على $_
) السطر الموالي من قائمة الملفات في المجرى ARGV
(أو $*
)، أو من مجرى الإدخال القياسي في حالة عدم تمرير أي ملفات في سطر الأوامر. ويعيد nil
عند نهاية الملف.
التابع global_variables
يعيد التابع global_variables مصفوفة تضم أسماء المتغيرات الكلية (global variables).
التابع gsub
يكافئ التابع gsub
التعبير $_.gsub...
، باستثناء أنه سيتم تحديث $_
في حال حدوث استبدال. متوفر فقط عند تحديد خيار سطر الأوامر -p/-n
التابع iterator?
يعيد التابع iterator? القيمة true
إذا كان yield
سينفذ كتلة برمجية في السياق الراهن. لقد صار الشكل iterator?
متجاوزًا إلى حد ما.
التابع lambda
يكافئ التابع lambda التعبير Proc.new
، باستثناء أنّ كائنات Proc
الناتجة ستتحقق من عدد الوسائط الممررة عند استدعائها.
التابع load
يحمل التابع load وينفّذ برنامج روبي في الملف filename.
التابع local_variables
يعيد التابع local_variables أسماء المتغيرات المحلية الحالية.
التابع loop
ينفذ التابع loop الكتلة البرمجية بشكل متكرر.
التابع open
ينشئ التابع open كائنًا من النوع IO
متصلا بالمجرى أو الملف أو العملية الفرعية (subprocess) المحددة.
التابع p
يكتب التابع p
في مجرى الإخراج القياسي للبرنامج ناتج التعبير obj.inspect
مباشرة ، متبوعًا بسطر جديد، لكل كائن obj
يُمرر إليه.
التابع print
يطبع التابع print
الكائنات الممرة إليه بالتتابع في المجرى $stdout
.
التابع printf
يكافئ التابع printf التعبير: io.write(sprintf(string, obj, ...))
التابع proc
يكافي التابع proc
التعبير Proc.new
.
التابع putc
يكافئ التابع putc التعبير: $stdout.putc(int)
التابع puts
يكافئ التابع puts التعبير: $stdout.puts(obj, ...)
التابع raise
في حال عدم تمريرأي وسائط، سيطلق التابع raise استثناء في $!
أو يطلق RuntimeError
إن كان $!
يساوي nil
.
التابع rand
في حال استدعاء التابع rand
بدون تمرير وسائط إليه، أو إن كان max.to_i.abs == 0
، فسيعيد التابع rand
عدد عشري شبه عشوائي (pseudo-random) محصور بين 0.0 و 1.0، متضمنا 0.0، وباستثناء 1.0.
التابع readline
يكافئ التابع readline
التعبير Kernel::gets
، باستثناء أنّ readline
تطلق خطأ EOFError
عند نهاية الملف.
التابع readlines
يعيد التابع readlines
مصفوفة تحتوي الأسطر المُعادة من استدعاء Kernel.gets( sep )
حتى نهاية الملف.
التابع require
بحمل التابع require
الوسيط المُعطى name
،
التابع require_relative
عند استدعاء هذا التابع ستحاول روبي تحميل المكتبة المسماة في الوسيط المعطى string
نسبة إلى مسار الملف المطلوب.
التابع select
يستدعي select(2). ويقوم بمراقبة المصفوفة المعطاة المكونة من كائنات IO
، وينتظر حتى يكون أحد كائنات IO
جاهزًا للقراءة ، وجاهزا للكتابة، ويكون لها استثناءات معلقة (pending exceptions) على التوالي، ثم يعيد مصفوفة تحتوي على مصفوفات مكونة من تلك كائنات IO
السابقة. ستُعاد القيمة nil
إذا تم إعطاء قيمة للوسيط الاختياري timeout، ولم يكن هناك أي كائن IO
جاهزًا خلال timeout ثانية.
التابع set_trace_func
يجعل التابع set_trace_func الوسيط المعطى proc كمتعقب (handler for tracing)، أو يعطل التعقب إن كان الوسيط يساوي nil
.
التابع sleep
يعلّق التابع sleep المهمة الفرعية (thread) الحالية لعدد من الثواني.
التابع spawn
ينفذ التابع spawn تعليمة محددة، ثم يعيد معرفها (pid).
التابع sprintf
يعيد التابع sprintf
السلسلة النصية الناتجة من تطبيق format_string
على الوسائط الإضافية.
التابع srand
يحدد التابع srand
بذرة مولد الأعداد شبه العشوائية (system pseudo-random number generator)،
التابع sub
يكافئ التابع sub
التعبير $_.sub( args )
، باستثناء أنه سيتم تحديث $_
إذا حدث استبدال.
التابع syscall
يستدعي التابع syscall
دالة نظام التشغيل المحددة بواسطة num
التابع system
ينفذ التابع system
التعليمة المعطاة command…
في صدفة فرعية (subshell). تأخذ التعليمة command…
أحد الأشكال التالية.
التابع test
يستخدم التابع test الحرف cmd
لإجراء عدة اختبارات على الملفات.
التابع throw
ينقل التابع throw
الضبط (control) إلى نهاية كتلة catch
المُترقبة للوسم المعطى (tag
). إذا لم يكن هناك كتلة catch
لذلك الوسم، فسيطلق خطأUncaughtThrowError
. يوفر الوسيط الاختياري الثاني obj
في حال تمريره قيمة لتُعيدها الكتلة catch
، وإلا فستعيدnil
. للحصول على بعض الأمثلة، انظر صفحة التابع catch
.
التابع trace_var
يضبط التابع trace_var
تعقّبات تعيين المتغيرات الكلية.
التابع trap
يحدد التابع trap
معالج الإشارات (handling of signals).
التابع untrace_var
يزيل التابع untrace_var
التعقب للتعليمة المحددة
التابع warn
ينقل التابع throw
الضبط (control) إلى نهاية كتلة catch
المُترقبة للوسم المعطى (tag
). إذا لم يكن هناك كتلة catch
لذلك الوسم، فسيطلق خطأUncaughtThrowError
. يوفر الوسيط الاختياري الثاني obj
في حال تمريره قيمة لتُعيدها الكتلة catch
، وإلا فستعيدnil
. للحصول على بعض الأمثلة، انظر صفحة التابع catch
.