order=True مع eq=False ترفع ValueError؛ إعدادا الترتيب والمساواة غير متوافقين هنا. [1]
الخلاصة السريعة
لا؛ تعريف الفئة يفشل في اختبارنا. [1]
- order=True مع eq=False ترفع ValueError؛ إعدادا الترتيب والمساواة غير متوافقين هنا. [1]
- على CPython 3.12.14، Bad تعرف number وتطلب order=True مع eq=False. [1]
- الخطأ يقع عند تطبيق المزخرف أثناء تعريف Bad، قبل إنشاء مثيل أو مقارنة قيمتين. [1]
- بعد التقاط ValueError، الاسم Bad غير مربوط في نطاق اختبارنا الجديد. [1]
- تحكم Fixed تطلب order=True وتترك eq بافتراضي True: Fixed(4)<Fixed(5) تعطي True، وكائنان منفصلان بالقيمة 4 متساويان. نختبر حقلًا واحدًا بأعداد صحيحة بلا وراثة أو مقارنات مخصصة. [1]
الخياران
order=True مع eq=False ترفع ValueError؛ إعدادا الترتيب والمساواة غير متوافقين هنا. [1]
تعريف غير متوافق
على CPython 3.12.14، Bad تعرف number وتطلب order=True مع eq=False. [1]
موضع الفشل
الخطأ يقع عند تطبيق المزخرف أثناء تعريف Bad، قبل إنشاء مثيل أو مقارنة قيمتين. [1]
from dataclasses import dataclass try: @dataclass(order=True,eq=False) class Bad:number:int except ValueError:print("ValueError") print("Bad" in globals()) [1]

الاسم والتحكم
بعد التقاط ValueError، الاسم Bad غير مربوط في نطاق اختبارنا الجديد. [1]
@dataclass(order=True) class Fixed:number:int left=Fixed(4);right=Fixed(5);control=Fixed(4) print(left<right,left==control,left is not control) [1]
تحكم Fixed تطلب order=True وتترك eq بافتراضي True: Fixed(4)<Fixed(5) تعطي True، وكائنان منفصلان بالقيمة 4 متساويان. نختبر حقلًا واحدًا بأعداد صحيحة بلا وراثة أو مقارنات مخصصة. [1]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
