أنواع البيانات في لغة ض
نظرة عامة
لغة ض تدعم أنواع البيانات الأساسية التالية:
| النوع | مثال | الوصف |
|---|---|---|
| عدد صحيح | 42 | أرقام بدون فاصلة عشرية |
| عدد عشري | 3.14 | أرقام بفاصلة عشرية |
| نص | "أحمد" | سلسلة من الأحرف |
| منطقي | صحيح، خطأ | قيمة صحيحة أو خاطئة |
| عدم | عدم | قيمة فارغة (None) |
| قائمة | [1، 2، 3] | مجموعة مرتبة |
| قاموس | {"اسم": "أحمد"} | مجموعة مفتاح-قيمة |
| مجموعة ثنائية | (1، 2) | مجموعة غير قابلة للتعديل |
معرفة نوع البيانات
استخدم الدالة نوع() لمعرفة نوع أي قيمة:
اطبع(نوع(42)) # عدد
اطبع(نوع(3.14)) # عشري
اطبع(نوع("أحمد")) # نص
اطبع(نوع(صحيح)) # منطقي
اطبع(نوع([1، 2، 3])) # قائمة
الأرقام الصحيحة (Integer)
أرقام بدون فاصلة عشرية:
عمر = 25
السنة = 2024
درجة_الحرارة = -10
عدد_كبير = 1000000
الأرقام العشرية (Float)
أرقام بفاصلة عشرية:
السعر = 99.99
المعدل = 4.75
pi = 3.14159
درجة_حرارة = 36.6
النصوص (String)
سلاسل من الأحرف محاطة بعلامات تنصيص:
# علامات مزدوجة
اسم = "أحمد"
# علامات مفردة
المدينة = 'الرياض'
# نص متعدد الأسطر
رسالة = """مرحباً
هذا نص
متعدد الأسطر"""
القيم المنطقية (Boolean)
قيمتان فقط: صحيح أو خطأ
متزوج = صحيح
طالب = خطأ
نشط = صحيح
# في الجمل الشرطية
إذا نشط:
اطبع("الحساب نشط")
القيمة الفارغة (None)
تمثل غياب القيمة:
قيمة = عدم
إذا قيمة == عدم:
اطبع("القيمة فارغة")
القوائم (Lists)
مجموعة مرتبة قابلة للتعديل:
أرقام = [1، 2، 3، 4، 5]
أسماء = ["أحمد"، "محمد"، "سارة"]
مختلط = [1، "نص"، 3.14، صحيح]
# الوصول للعناصر
اطبع(أرقام[0]) # 1
# تعديل عنصر
أرقام[0] = 10
القواميس (Dictionaries)
مجموعات مفتاح-قيمة:
شخص = {
"اسم": "أحمد"،
"عمر": 25،
"مدينة": "الرياض"
}
# الوصول للقيم
اطبع(شخص["اسم"]) # أحمد
# إضافة عنصر
شخص["وظيفة"] = "مبرمج"
المجموعات الثنائية (Tuples)
مجموعة مرتبة غير قابلة للتعديل:
نقطة = (10، 20)
ألوان = ("أحمر"، "أخضر"، "أزرق")
# الوصول للعناصر
اطبع(نقطة[0]) # 10
# لا يمكن التعديل
# نقطة[0] = 5 # خطأ!
تحويل بين الأنواع
إلى عدد صحيح
عدد("42") # من نص
عدد(3.14) # من عشري
عدد(صحيح) # 1
عدد(خطأ) # 0
إلى عدد عشري
عشري("3.14") # من نص
عشري(42) # من عدد صحيح
إلى نص
نص(42) # "42"
نص(3.14) # "3.14"
نص(صحيح) # "صحيح"
إلى قائمة
قائمة("أحمد") # ["أ"، "ح"، "م"، "د"]
قائمة((1، 2، 3)) # [1، 2، 3]
قائمة(مدى(5)) # [0، 1، 2، 3، 4]
أمثلة عملية
مثال 1: التحقق من الأنواع
قيمة = ادخل("أدخل قيمة: ")
إذا نوع(قيمة) == "نص":
اطبع("هذا نص")
# تحويل لرقم إذا كان ممكناً
رقم = عدد(قيمة)
اطبع("كرقم: " + نص(رقم))
مثال 2: معالجة بيانات مختلطة
بيانات = {
"اسم": "أحمد"،
"عمر": 25،
"متزوج": صحيح،
"درجات": [85، 90، 95]
}
اطبع("الاسم: " + بيانات["اسم"])
اطبع("العمر: " + نص(بيانات["عمر"]))
اطبع("متزوج: " + نص(بيانات["متزوج"]))
اطبع("المتوسط: " + نص(مجموع(بيانات["درجات"]) / طول(بيانات["درجات"])))
الملخص
| العملية | الدالة | مثال |
|---|---|---|
| معرفة النوع | نوع() | نوع(42) |
| تحويل لعدد | عدد() | عدد("42") |
| تحويل لعشري | عشري() | عشري("3.14") |
| تحويل لنص | نص() | نص(42) |
| تحويل لقائمة | قائمة() | قائمة("نص") |