الفرق بين المراجعتين لصفحة: «Ruby/Kernel»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) مراجعة وتدقيق |
||
(3 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: | <noinclude>{{DISPLAYTITLE:الصنف <code>Kernel</code> في روبي}}</noinclude> | ||
[[تصنيف: Ruby]] | [[تصنيف: Ruby]] | ||
[[تصنيف: Ruby Class]] | |||
[[تصنيف: Ruby Kernel]] | [[تصنيف: Ruby Kernel]] | ||
الوحدة <code>Kernel</code> | تُضمَّن الوحدة <code>Kernel</code> من طرف الصنف <code>[[Ruby/Object|Object]]</code>، لذلك فتوابعها متاحة في كل كائنات روبي. | ||
توابع نسخ الصنف <code>Kernel</code> مُوثّقة في صفحة الصنف <code>[[Ruby/Object|Object]]</code>، أما توابع الوحدة <code>Kernel</code> فهي مُوثقة هنا. تستدعى هذه التوابع بدون مستقبل (receiver)، وبالتالي يمكن استدعاؤها وفق الشكل | توابع نسخ الصنف <code>Kernel</code> مُوثّقة في صفحة الصنف <code>[[Ruby/Object|Object]]</code>، أما توابع الوحدة <code>Kernel</code> فهي مُوثقة هنا. تستدعى هذه التوابع بدون مستقبل (receiver)، وبالتالي يمكن استدعاؤها وفق الشكل الدالي:<syntaxhighlight lang="ruby"> | ||
sprintf "%.1f", 1.234 #=> "1.2" | sprintf "%.1f", 1.234 #=> "1.2" | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==توابع الصنف العامة (Public Class Methods)== | ==توابع الصنف العامة (Public Class Methods)== | ||
===[[Ruby/Kernel/Array | | ===[[Ruby/Kernel/Array|<code>Array</code>]]=== | ||
يعيد | يعيد المعامل الممرَّر إليه على شكل مصفوفة (<code>[[Ruby/Array|Array]]</code>). | ||
===[[Ruby/Kernel/Complex | | ===[[Ruby/Kernel/Complex|<code>Complex</code>]]=== | ||
يعيد | يعيد ناتج التعبير <code>x + i * y</code>؛ حيث <code>i</code> هو الوحدة التخيلية <nowiki/>[[Ruby/Complex|للعدد العقدي]]. | ||
=== <code>[[Ruby/Kernel/Float|Float]]</code> === | |||
=== | |||
===[[Ruby/Kernel/ | ===[[Ruby/Kernel/Hash|<code>Hash</code>]]=== | ||
يعيد ناتج التعبير <code>x + i * y</code>؛ حيث <code>i</code> هو الوحدة التخيلية <nowiki/>[[Ruby/Complex|للعدد العقدي]]. | |||
===[[Ruby/Kernel/Integer|<code>Integer</code>]]=== | |||
يعيد | يحول المعامل المُمرَّر إليه إلى عدد صحيح (<code>[[Ruby/Integer|Integer]]</code>). | ||
===[[Ruby/Kernel/ | |||
=== <code>[[Ruby/Kernel/Rational|Rational]]</code> === | |||
يعيد ناتج العملية <code>x/y</code> إن مُرر عددين إليه أو عدد جذري (<code>[[Ruby/Rational|Rational]]</code>) إن مُرِّر معامل وحيد فقط. | |||
===[[Ruby/Kernel/String|<code>String</code>]]=== | |||
يعيد المعامل المعطى على شكل سلسلة نصية (<code>String</code>). | |||
===[[Ruby/Kernel/ callee|<code>__callee__</code>]]=== | |||
يعيد اسم التابع الحالي على شكل رمز (<code>Symbol</code>). | |||
===[[Ruby/Kernel/ dir|<code>__dir__</code>]]=== | |||
يعيد المسار المطلق الأساسي (canonicalized absolute path) لمجلد الملف الذي استُدعي هذا التابع منه. | |||
===[[Ruby/Kernel/ method|<code>__method__</code>]]=== | |||
يعيد الاسم الذي أعطي للتابع الحالي عند تعريفه على شكل رمز (<code>Symbol</code>). | |||
===[[Ruby/Kernel/60|<code>`</code>]]=== | |||
يعيد مجرى المخرجات القياسي (standard output) لتنفيذ تعليمة في صدفة فرعية (subshell) | |||
===[[Ruby/Kernel/abort|<code>abort</code>]]=== | |||
ينهي تنفيذ العملية على الفور عبر استدعاء <code>Kernel.exit(false)</code>. | |||
===[[Ruby/Kernel/at exit|<code>at_exit</code>]]=== | |||
يحول الكتلة البرمجية المعطاة إلى كائن من النوع <code>Proc</code> (وبالتالي يربطه في لحظة الاستدعاء) ويسجله لأجل تنفيذه عند نهاية البرنامج. | |||
===[[Ruby/Kernel/autoload|<code>autoload</code>]]=== | |||
يسجل اسم الملف المعطى لكي يُحمّل (باستخدام <code>Kernel::require</code>) في المرة الأولى التي يتم الوصول فيها إلى وحدة محدَّدة. | |||
===[[Ruby/Kernel/autoload-3F|<code>autoload?</code>]]=== | |||
يعيد التابع <code>autoload?</code> اسم الملف المراد تحميله إذا سُجّل للتحميل عند الوصول إلى وحدة محدَّدة عبر التابع <code>[[Ruby/Kernel/autoload|autoload]]</code>. | |||
===[[Ruby/Kernel/binding|<code>binding</code>]]=== | |||
يعيد كائنًا من النوع <code>[[Ruby/Binding|Binding]]</code>، والذي يصف ويحدد ارتباطات المتغيرات والتوابع لحظة الاستدعاء. | |||
===[[Ruby/Kernel/block given-3F|<code>block_given?</code>]]=== | |||
يتحقق إذا كان <code>yield</code> سينفذ كتلةً برمجيةً في السياق الحالي. | |||
===[[Ruby/Kernel/callcc|<code>callcc</code>]]=== | |||
يولد كائنًا من النوع <code>[[Ruby/Continuation|Continuation]]</code>، والذي يُمرّر إلى الكتلة البرمجية المعطاة. | |||
===[[Ruby/Kernel/caller|<code>caller</code>]]=== | |||
يعيد مكدس التنفيذ الحالي (execution stack). | |||
===[[Ruby/Kernel/caller locations|<code>caller_locations</code>]]=== | |||
يعيد التابع <code>caller_locations</code> مكدس التنفيذ (execution stack) الحالي كمصفوفة تحتوي كائنات تعقب عكسي (backtrace location objects). | |||
===[[Ruby/Kernel/catch|<code>catch</code>]]=== | |||
ينفذ كتلته البرمجية. | |||
===[[Ruby/Kernel/chomp|<code>chomp</code>]]=== | |||
يكافئ التعبير <code>$_ = $_.chomp( string )</code>. | |||
===[[Ruby/Kernel/chop|<code>chop</code>]]=== | |||
يكافئ التعبير <code>($_.dup).chop!</code> ، باستثناء أنّ <code>nil</code> لا تُعاد أبدًا. | |||
===[[Ruby/Kernel/eval|<code>eval</code>]]=== | |||
يقيّم (Evaluates) تعبيرات روبي الموجودة في سلسلة نصية. | |||
===[[Ruby/Kernel/exec|<code>exec</code>]]=== | |||
يستبدل العملية (process) الحالية عبر تشغيل الأمر الخارجي المعطى | |||
===[[Ruby/Kernel/exit|<code>exit</code>]]=== | |||
يبدأ عملية إنهاء البرنامج في روبي، عن طريق إطلاق استثناء <code>[[Ruby/SystemExit|SystemExit]]</code>. | |||
===[[Ruby/Kernel/exit-21|<code>exit!</code>]]=== | |||
يُنهِي العملية على الفور. | |||
===[[Ruby/Kernel/fail|<code>fail</code>]]=== | |||
في حال استدعاء هذا التابع بدون تمرير أي معامل، فسيُطلق الاستثناء في <code>$!</code> أو يطلق الخطأ <code>[[Ruby/RuntimeError|RuntimeError]]</code> إذا كان <code>$!</code> يساوي <code>nil</code>. | |||
===[[Ruby/Kernel/fork|<code>fork</code>]]=== | |||
ينشئ عملية فرعية (subprocess). | |||
===[[Ruby/Kernel/format|<code>format</code>]]=== | |||
يعيد السلسلة النصية المعطاة بعد تنسيقها بشكل معين. | |||
===[[Ruby/Kernel/gets|<code>gets</code>]]=== | |||
يجلب (ويسندها إلى <code>$_</code>) السطر التالي من قائمة الملفات في المجرى <code>ARGV</code> (أو <code>$*</code>)، أو من مجرى الإدخال القياسي في حالة عدم تمرير أي ملفات في سطر الأوامر. | |||
===[[Ruby/Kernel/global variables|<code>global_variables</code>]]=== | |||
يعيد مصفوفة تضم أسماء المتغيرات العامة (global variables). | |||
===[[Ruby/Kernel/gsub|<code>gsub</code>]]=== | |||
يكافئ التعبير <code>$_.gsub...</code>، باستثناء أنه سيتم تحديث <code>$_</code> في حال حدوث استبدال. | |||
===[[Ruby/Kernel/iterator-3F|<code>iterator?</code>]]=== | |||
يعيد القيمة <code>true</code> إذا كان <code>yield</code> سينفذ كتلة برمجية في السياق الراهن. لقد أصبح الشكل <code>iterator?</code> مهملًا إلى حد ما. | |||
===[[Ruby/Kernel/lambda|<code>lambda</code>]]=== | |||
يكافئ التعبير <code>Proc.new</code>، باستثناء أنّ الكائنات <code>Proc</code> الناتجة ستتحقق من عدد الوسائط الممررة عند استدعائها. | |||
===[[Ruby/Kernel/load|<code>load</code>]]=== | |||
يحمّل وينفّذ برنامج روبي في الملف المعطى. | |||
===[[Ruby/Kernel/local variables|<code>local_variables</code>]]=== | |||
يعيد مصفوفة تضم أسماء المتغيرات المحلية الحالية. | |||
===[[Ruby/Kernel/loop|<code>loop</code>]]=== | |||
ينفذ الكتلة البرمجية المعطاة بشكل متكرر. | |||
===[[Ruby/Kernel/open|<code>open</code>]]=== | |||
ينشئ كائنًا من النوع <code>[[Ruby/IO|IO]]</code> متصلًا بالمجرى أو الملف أو العملية الفرعية (subprocess) المحددة. | |||
===[[Ruby/Kernel/p|<code>p</code>]]=== | |||
يكتب في مجرى الخرج القياسي للبرنامج ناتج التعبير <code>obj.inspect</code> مباشرة متبوعًا بسطر جديد لكل كائن من الكائنات الممررة إليه. | |||
===[[Ruby/Kernel/print|<code>print</code>]]=== | |||
يطبع الكائنات الممررة إليه بالتتابع على المجرى <code>stdout$</code>. | |||
===[[Ruby/Kernel/printf|<code>printf</code>]]=== | |||
يكافئ التعبير <code>io.write(sprintf(string, obj, ...))</code>. | |||
===[[Ruby/Kernel/proc|<code>proc</code>]]=== | |||
يكافي التعبير <code>Proc.new</code>. | |||
===[[Ruby/Kernel/putc|<code>putc</code>]]=== | |||
يكافئ التعبير <code>$stdout.putc(int)</code> أي يطبع القيمة الممرَّرة إليه على مجرى الخرج القياسي. | |||
===[[Ruby/Kernel/puts|<code>puts</code>]]=== | |||
يكافئ التعبير <code>$stdout.puts(obj, ...)</code>؛ أي يطبع السلسلة النصية المُمرَّرة إليه على مجرى الخرج القياسي. | |||
===[[Ruby/Kernel/raise|<code>raise</code>]]=== | |||
يطلق استثناءً أو خطأً مع إظهار رسالة تصف هذا الاستثناء أو الخطأ. | |||
===[[Ruby/Kernel/rand|<code>rand</code>]]=== | |||
يولد التابع <code>rand</code> عددًا شبه عشوائي يقع ضمن مجال محدَّد. | |||
===[[Ruby/Kernel/readline|<code>readline</code>]]=== | |||
يقرأ التابع سطرًا واحدًا من أسطر الملف ثم يعيده. | |||
===[[Ruby/Kernel/readlines|<code>readlines</code>]]=== | |||
يعيد مصفوفة يحوي كل عنصر منها سطرًا من أسطر الملف المراد قراءته بالكامل. | |||
===[[Ruby/Kernel/require|<code>require</code>]]=== | |||
يُحمِّل ميزة محدَّدة ثمَّ يعيد <code>true</code> في حال نجح في ذلك، أو <code>false</code> إذا كانت الميزة (feature) مُحملة سلفًا. | |||
===[[Ruby/Kernel/require relative|<code>require_relative</code>]]=== | |||
عند استدعاء هذا التابع، ستحاول روبي تحميل المكتبة التي مُرِّر اسمها إليه نسبةً إلى مسار الملف المطلوب. | |||
===[[Ruby/Kernel/select|<code>select</code>]]=== | |||
يستدعي دالة النظام <code>select(2)</code>، إذ يعمل على مراقبة المصفوفات الكائنات <code>[[Ruby/IO|IO]]</code>المعطاة، وينتظر حتى يصبح أحد تلك الكائنات أو أكثر جاهزًا للقراءة، وجاهزًا للكتابة، ومالكًا لاستثناءات معلقة (pending exceptions) على التوالي، ثم يعيد مصفوفة تحتوي على مصفوفات مكونة من الكائنات <nowiki/>[[Ruby/IO|<code>IO</code>]] السابقة. | |||
===[[Ruby/Kernel/set trace func|<code>set_trace_func</code>]]=== | |||
يجعل المعامل المعطى كمعالج للتعقب، أو يعطل التعقب إن كان الوسيط يساوي <code>nil</code>. | |||
===[[Ruby/Kernel/sleep|<code>sleep</code>]]=== | |||
يعلّق المهمة الفرعية (thread) الحالية لعدد محدَّد من الثواني. | |||
===[[Ruby/Kernel/spawn|<code>spawn</code>]]=== | |||
ينفذ تعليمة محددة، ثم يعيد معرفها (pid). | |||
===[[Ruby/Kernel/sprintf|<code>sprintf</code>]]=== | |||
يعيد السلسلة النصية المُمرَّرة إليه بعد تنسيقها بنمط معيَّن. | |||
===[[Ruby/Kernel/srand|<code>srand</code>]]=== | |||
يضبط بذرة مولد الأعداد شبه العشوائية (system pseudo-random number generator). | |||
===[[Ruby/Kernel/sub|<code>sub</code>]]=== | |||
يكافئ التعبير <code>$_.sub( args )</code> باستثناء أنه سيتم تحديث <code>$_</code> إذا حدث استبدال. | |||
===[[Ruby/Kernel/syscall|<code>syscall</code>]]=== | |||
يستدعي دالة نظام التشغيل المحددة بواسطة المعامل المُمرَّر إليه ويعيد نتيجة هذه الدالة أو يطلق الخطأ <code>[[Ruby/SystemCallError|SystemCallError]]</code> في حال فشل استدعائها. | |||
===[[Ruby/Kernel/system|<code>system</code>]]=== | |||
ينفذ الأمر المُمرَّر إليه في صدفة فرعية (subshell). | |||
===[[Ruby/Kernel/test|<code>test</code>]]=== | |||
يجري عدة اختبارات على ملف واحد أو على ملفين. | |||
===[[Ruby/Kernel/throw|<code>throw</code>]]=== | |||
ينقل الضبط (control) إلى نهاية الكتلة <nowiki/>[[Ruby/Kernel/catch|<code>catch</code>]] المُترقبة للوسم المعطى (<code>tag</code>). إذا لم يكن هناك كتلة <nowiki/>[[Ruby/Kernel/catch|<code>catch</code>]] لذلك الوسم، فسيطلق الخطأ <code>[[Ruby/UncaughtThrowError|UncaughtThrowError]]</code>. | |||
===[[Ruby/Kernel/trace var|<code>trace_var</code>]]=== | |||
يضبط (Controls) تعقّبات (tracing) تعيين المتغيرات العامة. | |||
===[[Ruby/Kernel/trap|<code>trap</code>]]=== | |||
يحدد معالج الإشارات (handling of signals). | |||
===[[Ruby/Kernel/untrace var|<code>untrace_var</code>]]=== | |||
يزيل التعقب (tracing) للأمر <code>cmd</code> المعطى على المتغير العام المحدد ثم يعيد القيمة <code>nil</code>. | |||
===[[Ruby/Kernel/warn|<code>warn</code>]]=== | |||
في حال تعطيل التنبيهات (على سبيل المثال، عبر الراية <code>-W0</code>) ، فإنّ التابع <code>warn</code> لن يفعل شيئًا. خلا ذلك، سيُحوّل كل الرسائل المُمرَّرة إليه إلى سلاسل نصية، ويضيف محرف سطر جديد إلى نهايتها إن لم تكن منتهيةً بسطر جديد، ثم يستدعي التابع <code>[[Ruby/Warning/warn|Warning.warn]]</code>، ويمرر إليه تلك السلسلة النصية. | |||
==مصادر<span> </span>== | ==مصادر<span> </span>== | ||
*[http://ruby-doc.org/core-2.5.1/Kernel.html قسم | *[http://ruby-doc.org/core-2.5.1/Kernel.html قسم الصنف Kernel في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 06:57، 17 نوفمبر 2018
تُضمَّن الوحدة Kernel
من طرف الصنف Object
، لذلك فتوابعها متاحة في كل كائنات روبي.
توابع نسخ الصنف Kernel
مُوثّقة في صفحة الصنف Object
، أما توابع الوحدة Kernel
فهي مُوثقة هنا. تستدعى هذه التوابع بدون مستقبل (receiver)، وبالتالي يمكن استدعاؤها وفق الشكل الدالي:
sprintf "%.1f", 1.234 #=> "1.2"
توابع الصنف العامة (Public Class Methods)
Array
يعيد المعامل الممرَّر إليه على شكل مصفوفة (Array
).
Complex
يعيد ناتج التعبير x + i * y
؛ حيث i
هو الوحدة التخيلية للعدد العقدي.
Float
Hash
يعيد ناتج التعبير x + i * y
؛ حيث i
هو الوحدة التخيلية للعدد العقدي.
Integer
يحول المعامل المُمرَّر إليه إلى عدد صحيح (Integer
).
Rational
يعيد ناتج العملية x/y
إن مُرر عددين إليه أو عدد جذري (Rational
) إن مُرِّر معامل وحيد فقط.
String
يعيد المعامل المعطى على شكل سلسلة نصية (String
).
__callee__
يعيد اسم التابع الحالي على شكل رمز (Symbol
).
__dir__
يعيد المسار المطلق الأساسي (canonicalized absolute path) لمجلد الملف الذي استُدعي هذا التابع منه.
__method__
يعيد الاسم الذي أعطي للتابع الحالي عند تعريفه على شكل رمز (Symbol
).
`
يعيد مجرى المخرجات القياسي (standard output) لتنفيذ تعليمة في صدفة فرعية (subshell)
abort
ينهي تنفيذ العملية على الفور عبر استدعاء Kernel.exit(false)
.
at_exit
يحول الكتلة البرمجية المعطاة إلى كائن من النوع Proc
(وبالتالي يربطه في لحظة الاستدعاء) ويسجله لأجل تنفيذه عند نهاية البرنامج.
autoload
يسجل اسم الملف المعطى لكي يُحمّل (باستخدام Kernel::require
) في المرة الأولى التي يتم الوصول فيها إلى وحدة محدَّدة.
autoload?
يعيد التابع autoload?
اسم الملف المراد تحميله إذا سُجّل للتحميل عند الوصول إلى وحدة محدَّدة عبر التابع autoload
.
binding
يعيد كائنًا من النوع Binding
، والذي يصف ويحدد ارتباطات المتغيرات والتوابع لحظة الاستدعاء.
block_given?
يتحقق إذا كان yield
سينفذ كتلةً برمجيةً في السياق الحالي.
callcc
يولد كائنًا من النوع Continuation
، والذي يُمرّر إلى الكتلة البرمجية المعطاة.
caller
يعيد مكدس التنفيذ الحالي (execution stack).
caller_locations
يعيد التابع caller_locations
مكدس التنفيذ (execution stack) الحالي كمصفوفة تحتوي كائنات تعقب عكسي (backtrace location objects).
catch
ينفذ كتلته البرمجية.
chomp
يكافئ التعبير $_ = $_.chomp( string )
.
chop
يكافئ التعبير ($_.dup).chop!
، باستثناء أنّ nil
لا تُعاد أبدًا.
eval
يقيّم (Evaluates) تعبيرات روبي الموجودة في سلسلة نصية.
exec
يستبدل العملية (process) الحالية عبر تشغيل الأمر الخارجي المعطى
exit
يبدأ عملية إنهاء البرنامج في روبي، عن طريق إطلاق استثناء SystemExit
.
exit!
يُنهِي العملية على الفور.
fail
في حال استدعاء هذا التابع بدون تمرير أي معامل، فسيُطلق الاستثناء في $!
أو يطلق الخطأ RuntimeError
إذا كان $!
يساوي nil
.
fork
ينشئ عملية فرعية (subprocess).
format
يعيد السلسلة النصية المعطاة بعد تنسيقها بشكل معين.
gets
يجلب (ويسندها إلى $_
) السطر التالي من قائمة الملفات في المجرى ARGV
(أو $*
)، أو من مجرى الإدخال القياسي في حالة عدم تمرير أي ملفات في سطر الأوامر.
global_variables
يعيد مصفوفة تضم أسماء المتغيرات العامة (global variables).
gsub
يكافئ التعبير $_.gsub...
، باستثناء أنه سيتم تحديث $_
في حال حدوث استبدال.
iterator?
يعيد القيمة true
إذا كان yield
سينفذ كتلة برمجية في السياق الراهن. لقد أصبح الشكل iterator?
مهملًا إلى حد ما.
lambda
يكافئ التعبير Proc.new
، باستثناء أنّ الكائنات Proc
الناتجة ستتحقق من عدد الوسائط الممررة عند استدعائها.
load
يحمّل وينفّذ برنامج روبي في الملف المعطى.
local_variables
يعيد مصفوفة تضم أسماء المتغيرات المحلية الحالية.
loop
ينفذ الكتلة البرمجية المعطاة بشكل متكرر.
open
ينشئ كائنًا من النوع IO
متصلًا بالمجرى أو الملف أو العملية الفرعية (subprocess) المحددة.
p
يكتب في مجرى الخرج القياسي للبرنامج ناتج التعبير obj.inspect
مباشرة متبوعًا بسطر جديد لكل كائن من الكائنات الممررة إليه.
print
يطبع الكائنات الممررة إليه بالتتابع على المجرى stdout$
.
printf
يكافئ التعبير io.write(sprintf(string, obj, ...))
.
proc
يكافي التعبير Proc.new
.
putc
يكافئ التعبير $stdout.putc(int)
أي يطبع القيمة الممرَّرة إليه على مجرى الخرج القياسي.
puts
يكافئ التعبير $stdout.puts(obj, ...)
؛ أي يطبع السلسلة النصية المُمرَّرة إليه على مجرى الخرج القياسي.
raise
يطلق استثناءً أو خطأً مع إظهار رسالة تصف هذا الاستثناء أو الخطأ.
rand
يولد التابع rand
عددًا شبه عشوائي يقع ضمن مجال محدَّد.
readline
يقرأ التابع سطرًا واحدًا من أسطر الملف ثم يعيده.
readlines
يعيد مصفوفة يحوي كل عنصر منها سطرًا من أسطر الملف المراد قراءته بالكامل.
require
يُحمِّل ميزة محدَّدة ثمَّ يعيد true
في حال نجح في ذلك، أو false
إذا كانت الميزة (feature) مُحملة سلفًا.
require_relative
عند استدعاء هذا التابع، ستحاول روبي تحميل المكتبة التي مُرِّر اسمها إليه نسبةً إلى مسار الملف المطلوب.
select
يستدعي دالة النظام select(2)
، إذ يعمل على مراقبة المصفوفات الكائنات IO
المعطاة، وينتظر حتى يصبح أحد تلك الكائنات أو أكثر جاهزًا للقراءة، وجاهزًا للكتابة، ومالكًا لاستثناءات معلقة (pending exceptions) على التوالي، ثم يعيد مصفوفة تحتوي على مصفوفات مكونة من الكائنات IO
السابقة.
set_trace_func
يجعل المعامل المعطى كمعالج للتعقب، أو يعطل التعقب إن كان الوسيط يساوي nil
.
sleep
يعلّق المهمة الفرعية (thread) الحالية لعدد محدَّد من الثواني.
spawn
ينفذ تعليمة محددة، ثم يعيد معرفها (pid).
sprintf
يعيد السلسلة النصية المُمرَّرة إليه بعد تنسيقها بنمط معيَّن.
srand
يضبط بذرة مولد الأعداد شبه العشوائية (system pseudo-random number generator).
sub
يكافئ التعبير $_.sub( args )
باستثناء أنه سيتم تحديث $_
إذا حدث استبدال.
syscall
يستدعي دالة نظام التشغيل المحددة بواسطة المعامل المُمرَّر إليه ويعيد نتيجة هذه الدالة أو يطلق الخطأ SystemCallError
في حال فشل استدعائها.
system
ينفذ الأمر المُمرَّر إليه في صدفة فرعية (subshell).
test
يجري عدة اختبارات على ملف واحد أو على ملفين.
throw
ينقل الضبط (control) إلى نهاية الكتلة catch
المُترقبة للوسم المعطى (tag
). إذا لم يكن هناك كتلة catch
لذلك الوسم، فسيطلق الخطأ UncaughtThrowError
.
trace_var
يضبط (Controls) تعقّبات (tracing) تعيين المتغيرات العامة.
trap
يحدد معالج الإشارات (handling of signals).
untrace_var
يزيل التعقب (tracing) للأمر cmd
المعطى على المتغير العام المحدد ثم يعيد القيمة nil
.
warn
في حال تعطيل التنبيهات (على سبيل المثال، عبر الراية -W0
) ، فإنّ التابع warn
لن يفعل شيئًا. خلا ذلك، سيُحوّل كل الرسائل المُمرَّرة إليه إلى سلاسل نصية، ويضيف محرف سطر جديد إلى نهايتها إن لم تكن منتهيةً بسطر جديد، ثم يستدعي التابع Warning.warn
، ويمرر إليه تلك السلسلة النصية.