التابع Object.garbage_collect في روبي
يبدأ التابع garbage_collect عملية جمع المهملات (garbage collection)، إلّا إذا عُطِّلت يدويًا.
يُعرَّف هذا التابع عبر وسائط الكلمات المفتاحية (keyword arguments) المُعيَّنة افتراضيًا للقيمة true:
def GC.start(full_mark: true, immediate_sweep: true); end
يمكنك تعيين القيمة false للمعامل full_mark لتنفيذ الوحدة GC الثانوية.
ويمكنك تعيين القيمة false للمعامل immediate_sweep لتأجيل الكنس (sweeping، استخدام الكنس الكسول [lazy sweep]).
ملاحظة: تعتمد وسائط الكلمات المفتاحية على التطبيق والاصدار المُستخدم من روبي. لا يُضمن أن تبقى متوافقةً مستقبلًا، وقد يتم تجاهلها إذا كان التطبيق الأساسي لا يدعمها.
البنية العامة
start → nil
garbage_collect → nil
include GC; garbage_collect → nil
start(full_mark: true, immediate_sweep: true) → nil
garbage_collect(full_mark: true, immediate_sweep: true) → nil
include GC; garbage_collect(full_mark: true, immediate_sweep: true) → nil
المعاملات
full_mark
يأخذ هذا المعامل القيمة true (افتراضيًا) أو false، ويستخدم لتنفيذ الوحدة GC الثانوية.
immediate_sweep
يأخذ هذا المعامل القيمة true (افتراضيًا) أو false، ويستخدم لتأجيل الكنس (استخدام الكنس الكسول).
القيم المعادة
تُعاد القيمة nil عند نجاح العملية.
انظر أيضًا
- التابع
id2ref_: يُحوِل معرِّف الكائن إلى مرجعٍ للكائن. - التابع
count_objects: يُحصِي جميع الكائنات التي من نوعٍ واحد.
- التابع
define_finalizer: يضيف كتلةaProcكمُنهِي ليُستدعى بعد تدمير الكائن.
- التابع
each_object: يستدعي كتلةً محدَّدةً مرةً لكل كائنٍ نشطٍ أو غير مباشرٍ في هذه العملية الحالية في روبي. - التابع
undefine_finalizer: يحذف جميع مُنهِيَات الكائن المعطى.