نتائج البحث
اذهب إلى التنقل
اذهب إلى البحث
الصنف BasicObject في روبي
الصنف BasicObject هو الصنف الأب لجميع الأصناف في روبي، وهو صنف فارغ. يمكن استخدام الصنف BasicObject لإنشاء هرميات كائنية (object hierarchies) مستقلة عن الهرمية الكائنية للغة روبي، أو لإنشاء مغلفات الكائنات (proxy objects) مثل الصنف Delegator، أو حيث يجب تجنب إفساد مجال الأسماء (namespace pollution) من قبل توابع وأصناف روبي. لتجنب إفساد الصنف BasicObject للمستخدمين الآخرين، يجب إنشاء صنف فرعي من الصنف BasicObject تحت اسم مناسب بدلاً من تعديل BasicObject مباشرةً: class MyObjectSystem < BasicObject
end
لا يتضمَّن الصنف BasicObject الوحدة Kernel ...
الصنف Kernel في روبي
تُضمَّن الوحدة 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 + ...
التابع __send__ في الصنف BasicObject في ruby
يستدعي التابع __send__ (يدعى أيضًا send) التابع الممرَّر إليه مع تمرير وسائط محددة إليه. يُستعمَل الاسم __send__ الخاص بهذا التابع إذا تعارض الاسم send مع اسم تابع موجود مسبقًا في obj. البنية العامة send(symbol [, args...]) → obj
__send__(symbol [, args...]) → obj
send(string [, args...]) → obj
__send__(string [, args...]) → obj
المعاملات symbol اسم التابع المُعرَّف المراد استدعاؤه. ...args الوسائط المراد تمريرها إلى التابع المحدد في المعامل symbol. string سلسلة نصية تمثل اسم التابع المراد استدعاؤه. عندما يُعرّف التابع بواسطة سلسلة ...
التابع Object.send في روبي
يَستدعي التابع send التابع المعرَّف برمزٍ (symbol) ويُنفَّذه تلقائيًا ويمرِّر إليه أي معاملاتٍ معطاة. يمكنك استخدام الاسم __send__ البديل إذا تضارب الاسم مع توابع موجودةٍ في الكائن تحمل نفس الاسم. إن عُرِّف التابع عن طريق سلسلةٍ نصية، فستُحوَّل تلك السلسلة إلى رمز. البنية العامة send(symbol [, args...]) → obj
__send__(symbol [, args...]) → obj
send(string [, args...]) → obj
__send__(string [, args...]) → obj
المعاملات symbol الرَّمزُ المعرِّف للتابع المُعطى. ...args المعاملات المراد تمريرها إلى التابع. القيم المعادة يُعاد الكائن الناتج عن تنفيذ ...
الصنف Object في روبي
يعدُّ الصنف Object الجذر الافتراضي لكل كائنات روبي. يَرِث الصنف Object من الصنف BasicObject ما يسمح بإنشاء تسلسلات هرمية بديلة للكائن. تُتاح توابع الكائن لكل الأصناف ما لم يتم تجاهلها (overridden) صراحةً. تندمج الوحدة Kernel ضمن الصنف Object ما يعطي الوصول العام (global) للدّوال المبنية ضمنيًّا في الوحدة. رغم أنَّ توابع النسخة المنشأة من الصنف Object معرَّفةٌ عن طريق الوحدة Kernel، رأينا أن نوثّقهم هنا لمزيد من الوضوح. عند الإشارة (referencing) إلى الثوابت في الأصناف الوارثة من الصنف Object، لا ...
توحيد الأجزاء الشرطية المكررة (Consolidate Duplicate Conditional Fragments)
المشكلة شيفرة برمجية متطابقة موجودة في جميع فروع الشَرطيات. الحل نقل الشيفرة البرمجية خارج الشَرطية. مثال قبل إعادة التصميم استدعاء وتنفيذ الدالة ()send في نهاية جميع فروع الكتلة if الشرطية سواءً أكان الشرط محققًا أم لا: في لغة Java: if (isSpecialDeal()) {
total = price * 0.95;
send();
}
else {
total = price * 0.98;
send();
}
في لغة C#: if (IsSpecialDeal())
{
total = price * 0.95;
Send();
}
else
{
total = price * 0.98;
...
التابع Object.public_send في روبي
يَستدعي التابع public_send التابع المعرَّف برمزٍ (symbol) محدَّدٍ ويُنفَّذه تلقائيًا مع تمرير أي معاملاتٍ معطاة. خلافًا للتابع send، يَستدعي التابع public_send التوابع العامة فقط. إن عُرِّف التابع باستخدام سلسلةٍ نصيةٍ (string)، فستُحوَّل هذه السلسلة إلى رمز. البنية العامة public_send(symbol [, args...]) → obj
public_send(string [, args...]) → obj
المعاملات symbol الرَّمز المُعرِّف للتابع المراد استدعاءه. string سلسلة نصية تعرِّف التابع المراد استدعاءه. ستُحوَّل هذه السلسلة إلى رمز إن أعطيت. ...args المعاملات المراد تمريرها إلى التابع الذي يراد استداعاؤه. القيم المعادة يُعاد ...
التابع Process.abort في روبي
ينهي التابع abort تنفيذ العملية مباشرةً بشكل فعَّال عبر استدعاء Kernel.exit(false). إن مُرِّرَت رسالة إلى هذا التابع، فستُكتَب على مجرى الخطأ القياسي (STDERR) قبل إنهاء العملية. البنية العامة abort
Kernel::abort([msg])
abort([msg])
المعاملات msg رسالة الخطأ المراد طباعتها على مجرى الخطأ القياسي. انظر أيضًا التابع Kernel.exit: يبدأ عملية إنهاء البرنامج في روبي، عن طريق إطلاق استثناء SystemExit. التابع argv0: يعيد اسم الشيفرة البرمجية التي يجري تنفيذها. التابع exit: يبدأ عملية الإنهاء لشيفرة روبي البرمجية عبر اطلاق الاستثناء SystemExit. مصادر قسم التابع abort في الصنف Process في ...
التابع abort الخاص بالصنف Kernel في روبي
ينهي التابع abort تنفيذ العملية على الفور عبر استدعاء Kernel.exit(false). في حال تمرير رسالة إلى التابع، فستُكتَب في المجرى STDERR قبل الإنهاء. البنية العامة abort
Kernel::abort([msg])
abort([msg])
المعاملات msg الرسالة التي ستُكتب في المجرى STDERR. انظر أيضا التابع at_exit: يحول الكتلة البرمجية المعطاة إلى كائن من النوع Proc ويسجله لأجل تنفيذه عند نهاية البرنامج. مصادر قسم التابع abort في الصنف Kernel في توثيق روبي الرسمي.
التابع Thread.name= في روبي
يعين التابع name= اسم المهمة الفرعية التي استدعيت معه إلى الاسم المُمرَّر إليه. في بعض أنظمة التشغيل، قد يتم تعيين الاسم إلى pthread و/أو إلى kernel. البنية العامة name=(name)→ string
المعاملات name الاسم المراد تعيينه إلى المهمة الفرعية المعطاة. القيمة المعادة يعاد الاسم name على شكل سلسلة نصية بعد تعيينه إلى المهمة الفرعية المعطاة. انظر أيضًا التابع name: يعيد اسم المهمة الفرعية. مصادر قسم التابع name= في الصنف Thread في توثيق روبي الرسمي.
التابع Module.autoload? في روبي
يعيد التابع autoload? اسم الملف الذي سيُحمل إن كان المعامل المعطى مسجلًا عبر التابع autoload في مجال أسماء الوحدة التي استُدعي معها. البنية العامة autoload?(name)→ String or nil
القيمة المعادة تعاد سلسلة نصية تمثِّل اسم الملف الذي سيُحمل إن كان الوسيط المعطى مسجلًا عبر التابع autoload في مجال أسماء الوحدة التي استُدعي معها. أمثلة مثال على استخدام التابع autoload?: module A
end
A.autoload(:B, "b")
A.autoload?(:B) #=> "b"
انظر أيضا التابع autoload: يُُسجل اسم الملف ...
المعامل ` الخاص بالصنف Kernel في روبي
يعيد المعامل `` مجرى المخرجات القياسي (standard output) لتنفيذ تعليمة في صدفة فرعية (subshell). تُستخدَم الصياغة المضمَّنة %x{...} هذا المعامل. تُضبَط حالة العملية (process status) إلى القيمة $?. البنية العامة `cmd` → string
المعاملات cmd يمثل التعليمة المراد تنفيذها. القيمة المعادة يعاد مجرى المخرجات القياسي لتنفيذ تعليمة cmd في صدفة فرعية (subshell). أمثلة مثال على استخدام المعامل ``: `date` #=> "Wed Apr ...
التابع autoload الخاص بالصنف Kernel في روبي
يسجل التابع autoload اسم الملف المعطى لكي يُحمّل (باستخدام Kernel::require) في المرة الأولى التي يتم الوصول فيها إلى وحدة محدَّدة. البنية العامة autoload(module, filename)→ nil
المعاملات module سلسلةٌ نصيةٌ أو رمزٌ (symbol) يمثِّل اسم الوحدة. filename اسم الملف. المراد تحميله عن الوصول إلى الوحدة module. القيمة المعادة تعاد القيمة nil عند نجاح العملية. أمثلة مثال على استخدام التابع autoload: autoload(:MyModule, "/usr/local/lib/modules/my_module.rb")
انظر أيضا التابع autoload?: يعيد اسم الملف المراد تحميله إذا سُجّل للتحميل عند الوصول إلى وحدة محدَّدة عبر التابع autoload. ...
التابع Module.autoload في روبي
يُُسجل التابع autoload اسم الملف المراد تحميله (باستخدام Kernel::require) في أول مرة يتم فيها الوصول إلى الوحدة الممررة (والتي قد تكون سلسلةً نصيةً أو رمزًا) في مجال أسماء الوحدة التي استُدعيت معه. البنية العامة autoload(module, filename)→ nil
المعاملات module سلسلة نصية أو رمز يمثل الوحدة. filename اسم الملف. القيمة المعادة تعاد القيمة nil. أمثلة مثال على استخدام التابع autoload: module A
end
A.autoload(:B, "b")
A::B.doit # autoloads "b"
انظر أيضا التابع autoload?: يعيد اسم ...
التابع exit الخاص بالصنف Kernel في روبي
يبدأ التابع exit عملية إنهاء البرنامج في روبي، عن طريق إطلاق استثناء SystemExit. من الممكن التقاط هذا الاستثناء. begin
exit
puts "never get here"
rescue SystemExit
puts "rescued a SystemExit exception"
end
puts "after begin block"
ينتج عند تنفيذه: rescued a SystemExit exception
after begin block
قبل الإنهاء مباشرة، تنفذ روبي كل التوابع والكتل المرتبطة بالشيفرة عبر التابع at_exit، وتنفِّذ كل الكائنات المُنهيَة (object finalizers، راجع ObjectSpace.define_finalizer). at_exit { puts "at_exit function" }
ObjectSpace.define_finalizer("string", proc { puts "in finalizer" })
exit
ينتج عند تنفيذ الشيفرة: ...
التابع Object.public_method في روبي
يبحث التابع public_method عن التوابع العامة فقط بشكل مشابه لعمل التابع method. البنية العامة public_method(sym) → method
المعاملات sym رمزٌ يشير إلى اسم التابع المراد البحث عنه. القيم المعادة يُعاد التابع الموافق للاسم sym من الكائن المُعطى، أو يُرمى الاستثناء NameError إذا لم توجد توابع موافقة لهذا الاسم. انظر أيضًا التابع method: يبحث عن تابعٍ باسمٍ محدَّد في الكائن المعطى بوصفه مستقبلًا. التابع public_send: يَستدعي التابع المعرَّف برمزٍ محدَّدٍ ويُنفَّذه تلقائيًا مع تمرير أي معاملاتٍ معطاة. التابع send: يَستدعي التابع ...
التابع Process.exit في روبي
يبدأ التابع exit عملية الإنهاء لشيفرة روبي البرمجية عبر اطلاق الاستثناء SystemExit. هذا الاستثناء قد يُلتقَط. البنية العامة exit(status=true)
Kernel::exit(status=true)
Process::exit(status=true)
المعاملات status معامل اختياري يُستعمَل لإعادة حالة الشيفرة للبيئة المستدعية. القيمة true والقيمة false للحالة المعادة تشيران إلى النجاح والفشل على التوالي. تفسير القيم العددية الأخرى المعطاة يعتمد على نظام التشغيل آنذاك. القيمة الافتراضية هي: true. أمثلة مثال على استعمال التابع exit: begin
exit
puts "never get here"
rescue SystemExit
puts "rescued a SystemExit exception"
end
puts "after begin block"
ينتج عن تنفيذ ...
التابع IO.pipe في روبي
ينشئ التابع pipe زوجًا من طرفي أنبوب (pipe endpoints) متصلين ببعضهما بعضًا ثم يعيدهما على هيئة مصفوفة من الكائنات IO. في حال إعطاء كتلة، ستُستدعى تلك الكتلة، وتعاد قيمتها، مع تمرير أنبوب القراءة وأنبوب الكتابة بعد إنشائهما كوسائط من النوع IO إليها. وسيتم إغلاقهما إن لم يغلقا عند خروج الكتلة. أي أن إغلاق هذين المجريين لن يتسبب في حدوث خطأ. التابع pipe غير متوفر في جميع أنظمة التشغيل. إذا تم تمرير ترميز معين (اسم ترميز أو كائن ترميز) كمعامل إلى التابع، فسيتم ...
التابع Object.remove_instance_variable في روبي
يَحذِف التابع remove_instance_variable متغيِّر نسخةٍ باسمٍ محدَّدٍ من الكائن الذي استدعي معه ويُعيد قيمة ذلك المتغيِّر. البنية العامة remove_instance_variable(symbol) → obj
المعاملات symbol الرَّمز المعرِّف لمتغير النسخة المراد حذفه. القيم المعادة تعاد قيمة متغير النسخة symbol بعد حذفه من الكائن المعطى. أمثلة مثالٌ عن استخدام التابع remove_instance_variable: class Dummy
attr_reader :var
def initialize
@var = 99
end
def remove
remove_instance_variable(:@var)
end
end
d = Dummy.new
d.var #=> ...
التابع Module.define_method في روبي
يعرّف التابع define_method تابع نُسخة (instance method) في المُستقبِل (receiver). في حال تمرير كتلة، فستُستخدم كجسم (body) للتابع. تُقيّم هذه الكتلة باستخدام التابع instance_eval، وهو أمر قد يكون مُشكلًا على البعض، لأن define_method خاصة. (لهذا سنحتال ونستخدم التابع send في المثال التالي.) البنية العامة define_method(symbol, method) → symbol
define_method(symbol) { block }→ symbol
المعاملات symbol رمز. method تابع نُسخة. يمكن أن يكون من النوع Proc أو Method أو UnboundMethod. القيمة المعادة يعاد رمزٌ. أمثلة مثال على استخدام التابع define_method: class A
...