لقد تم تكليفك بتنفيذ فئة تسمى "ReactiveProperty"، وهي فئة عامة تعمل على توسيع فئة "ReactiveValue". تمثل فئة `ReactiveProperty` خاصية يمكن أن تتغير قيمتها ديناميكيًا ويمكن أن تتفاعل مع التغييرات.

تحتوي فئة `ReactiveProperty` على السمات والأساليب التالية:

صفات:
- `init_value` (اختياري): قيمة من النوع `T` تمثل القيمة الأولية للخاصية التفاعلية. الإعدادات الافتراضية إلى "لا شيء".
- `read_only`: قيمة منطقية تشير إلى ما إذا كانت الخاصية التفاعلية للقراءة فقط أم لا. إذا كان "صحيح"، فلا يمكن تعديل الخاصية بعد التهيئة. إذا كانت `خطأ`، فيمكن تعديل الخاصية. الإعدادات الافتراضية هي "خطأ".
- `المعدل`: دالة تأخذ أي مدخلات وترجع كائن `المعدل`. كائن "المعدل" مسؤول عن تعديل الإدخال قبل تخزينه في الخاصية التفاعلية. التنفيذ الافتراضي للوظيفة هو وظيفة الهوية (`lambda _: الهوية`)، مما يعني عدم تعديل الإدخال.
- `المدقق`: دالة تأخذ وسيطتين، القيمة الحالية للخاصية التفاعلية والقيمة الجديدة التي يتم تعيينها. تقوم بإرجاع القيمة التي تم التحقق من صحتها والتي سيتم تخزينها في الخاصية التفاعلية. التنفيذ الافتراضي للوظيفة هو `lambda _, v: v`، مما يعني عدم إجراء التحقق من الصحة.

طُرق:
- `__init__`: منشئ الفئة الذي يقوم بتهيئة كائن `ReactiveProperty`. يستغرق أربع معلمات:
  - `init_value` (اختياري): القيمة الأولية للخاصية التفاعلية. الإعدادات الافتراضية إلى "لا شيء".
  - `read_only` (اختياري): قيمة منطقية تشير إلى ما إذا كانت الخاصية التفاعلية للقراءة فقط أم لا. الإعدادات الافتراضية هي "خطأ".
  - `المُعدِّل` (اختياري): دالة تقوم بتعديل الإدخال قبل تخزينه في الخاصية التفاعلية. الإعدادات الافتراضية لوظيفة الهوية (`lambda _: الهوية`).
  - `المدقق` (اختياري): دالة تتحقق من صحة القيمة الجديدة التي تم تعيينها للخاصية التفاعلية. الإعدادات الافتراضية هي `lambda _، v: v`.

مهمتك هي تنفيذ فئة `ReactiveProperty` وفقًا للمواصفات المحددة.
{"source": "argilla/DistiCoder-dpo-binarized", "kind": "synthetic", "evolved_from": null}