صفحة الصنف Kernel في روبي
تُضمَّن الوحدة 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 كتلته البرمجية.
chomp
يكافئ التعبير $_ = $_.chomp( string ).
chop
يكافئ التابع chop التعبير ($_.dup).chop! ، باستثناء أنّ nil لا تُعاد أبدًا.
eval
يقيم (Evaluates) تعبيرات روبي الموجودة في سلاسل نصية.
exec
يستبدل العملية الحالية عن طريق تشغيل الأمر الخارجي المعطى.
exit
يبدأ عملية إنهاء البرنامج النصي لروبي، عن طريق إطلاق استثناء SystemExit.
exit!
ينهي العملية على الفور. لا يتم تنفيذ أي معالجات إنهاء (exit handlers).
fail
في حال استدعاء هذا التابع بدون تمرير أي معامل، فسيُطلق الاستثناء في $! أو يطلق الخطأ RuntimeError إذا كان $! يساوي nil.
fork
ينشئ عملية فرعية (subprocess).
format
يعيد السلسلة النصية المعطاة بعد تنسيقها بشكل معين.
gets
يجلب التابع gets (ويسندها إلى $_) السطر التالي من قائمة الملفات في المجرى ARGV (أو $*)، أو من مجرى الإدخال القياسي في حالة عدم تمرير أي ملفات في سطر الأوامر.
global_variables
يعيد مصفوفة تضم أسماء المتغيرات العامة (global variables).
gsub
يكافئ التعبير $_.gsub...، باستثناء أنه سيتم تحديث $_ في حال حدوث استبدال.
iterator?
يعيد القيمة true إذا كان yield سينفذ كتلة برمجية في السياق الراهن. لقد أصبح الشكل iterator? مهملًا إلى حد ما.
lambda
يكافئ التابع lambda التعبير Proc.new، باستثناء أنّ الكائنات Proc الناتجة ستتحقق من عدد الوسائط الممررة عند استدعائها.
load
يحمّل التابع load وينفّذ برنامج روبي في الملف المعطى.
local_variables
يعيد التابع local_variables مصفوفة تضم أسماء المتغيرات المحلية الحالية.
loop
ينفذ التابع loop الكتلة البرمجية المعطاة بشكل متكرر.
open
ينشئ التابع open كائنًا من النوع IO متصلًا بالمجرى أو الملف أو العملية الفرعية (subprocess) المحددة.
p
يكتب التابع p في مجرى الخرج القياسي للبرنامج ناتج التعبير obj.inspect مباشرة متبوعًا بسطر جديد لكل كائن من الكائنات الممررة إليه.
print
يطبع التابع print الكائنات الممررة إليه بالتتابع على المجرى stdout$.
printf
يكافئ التعبير io.write(sprintf(string, obj, ...)).
proc
يكافي التعبير Proc.new.
putc
يكافئ التعبير $stdout.putc(int) أي يطبع القيمة الممرَّرة إليه على مجرى الخرج القياسي.
puts
يكافئ puts التعبير: $stdout.puts(obj, ...)؛ أي يطبع السلسلة النصية المُمرَّرة إليه على مجرى الخرج القياسي.
raise
يطلق استثناءً أو خطأً مع إظهار رسالة تصف هذا الاستثناء أو الخطأ.
rand
يولد التابع rand عددًا شبه عشوائي يقع ضمن مجال محدَّد.
readline
يقرأ التابع سطرًا واحدًا من أسطر الملف ثم يعيده.
readlines
يعيد مصفوفة يحوي كل عنصر منها سطرًا من أسطر الملف المراد قراءته بالكامل.
require
يُحمِّل ميزة محدَّدة ثمَّ يعيد true في حال نجح في ذلك، أو false إذا كانت الميزة (feature) مُحملة سلفًا.
require_relative
عند استدعاء هذا التابع، ستحاول روبي تحميل المكتبة التي مُرِّر اسمها إليه نسبةً إلى مسار الملف المطلوب.
select
يستدعي التابع select دالة النظام select(2)، إذ يعمل على مراقبة المصفوفات الكائنات IOالمعطاة، وينتظر حتى يصبح أحد تلك الكائنات أو أكثر جاهزًا للقراءة، وجاهزًا للكتابة، ومالكًا لاستثناءات معلقة (pending exceptions) على التوالي، ثم يعيد مصفوفة تحتوي على مصفوفات مكونة من الكائنات IO السابقة.
set_trace_func
يجعل التابع set_trace_func المعامل المعطى كمعالج للتعقب، أو يعطل التعقب إن كان الوسيط يساوي nil.
sleep
يعلّق المهمة الفرعية (thread) الحالية لعدد محدَّد من الثواني.
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.