التابع 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
: يحذف جميع مُنهِيَات الكائن المعطى.