Skip to content

📋 ورقة مرجعية سريعة — لغة ص

صفحة واحدة تحتوي على أهم أوامر ومفاهيم لغة ص للرجوع السريع.


🔤 الكلمات المفتاحية (40 كلمة محجوزة)

دالة   ارجع   صنف   بنية   تعداد   يرث   نهاية   جديد   هذا   باني   الأساس
إذا   وإلا   بينما   لكل   في   توقف   استمر
طابق   عندما   افتراضي
حاول   امسك   ارمي   أخيراً
عام   خاص   محمي   مجرد
استورد   من   كـ   صدّر
متغير   ثابت   ساكن   خارجي
صحيح   خطأ   لاشيء

العوامل المنطقية: و أو ليس


📝 الأساسيات

المتغيرات والثوابت

sad
متغير س = 10              # متغير قابل للتعديل
ثابت ط = 3.14            # ثابت لا يتغير
متغير اسم = "أحمد"        # نص
متغير نشط = صحيح          # منطقي

أنواع البيانات المدمجة

النوعالوصفمثال
رقمعدد صحيح42
عشريعدد عشري3.14
نصسلسلة نصية"مرحبا"
منطقيصح/خطأصحيح, خطأ
مصفوفةقائمة[1، 2، 3]
خريطةقاموس{"أ": 1، "ب": 2}

🔀 التحكم في التدفق

الشروط

sad
إذا (س > 0)
    اطبع_سطر("موجب")
وإلا
    اطبع_سطر("سالب أو صفر")
نهاية

الحلقات

sad
# حلقة بينما
بينما (س > 0)
    س = س - 1
نهاية

# حلقة لكل
لكل عنصر في [1، 2، 3]
    اطبع_سطر(عنصر)
نهاية

# مع فهرس
لكل عنصر، فهرس في مصفوفة
    اطبع_سطر(فهرس + ": " + عنصر)
نهاية

مطابقة الأنماط

sad
طابق (عمر)
    عندما 0..13:
        اطبع("طفل")
    عندما 13..20:
        اطبع("مراهق")
    افتراضي:
        اطبع("بالغ")
نهاية

🔧 الدوال

تعريف واستدعاء

sad
دالة جمع(أ، ب)
    ارجع أ + ب
نهاية

متغير النتيجة = جمع(5، 3)  # 8

دوال لامدا

sad
متغير مربع = لامدا(س) { ارجع س * س }
اطبع(مربع(5))  # 25

🏗️ البرمجة الكائنية

الأصناف

sad
صنف شخص
    متغير عام اسم
    متغير عام عمر

    باني(اسم، عمر)
        هذا.اسم = اسم
        هذا.عمر = عمر
    نهاية

    دالة عام تحية()
        اطبع_سطر("مرحباً، أنا " + هذا.اسم)
    نهاية
نهاية

متغير أحمد = شخص("أحمد"، 25)
أحمد.تحية()

الوراثة

sad
صنف طالب يرث شخص
    متغير عام جامعة

    باني(اسم، عمر، جامعة)
        الأساس(اسم، عمر)
        هذا.جامعة = جامعة
    نهاية
نهاية

السمات (Traits)

sad
سمة قابل_للطباعة
    دالة مجرد اطبع()
نهاية

صنف كتاب نفّذ قابل_للطباعة
    دالة اطبع()
        اطبع_سطر(هذا.عنوان)
    نهاية
نهاية

📦 المصفوفات والخرائط

المصفوفات

sad
متغير أرقام = [1، 2، 3، 4، 5]

أرقام.اضف(6)              # إضافة عنصر
أرقام.احذف_اخير()          # حذف الأخير
متغير ط = طول(أرقام)       # الطول
متغير أول = أرقام[0]       # الوصول بالفهرس

# الدوال العليا
متغير مربعات = أرقام.خريطة(لامدا(س) { ارجع س * س })
متغير زوجية = أرقام.رشح(لامدا(س) { ارجع س % 2 == 0 })
متغير مجموع = أرقام.اختزل(0، لامدا(تراكم، س) { ارجع تراكم + س })

الخرائط

sad
متغير قاموس = {"اسم": "أحمد"، "عمر": 25}

قاموس["مدينة"] = "الرياض"  # إضافة
متغير اسم = قاموس["اسم"]    # قراءة
قاموس.احذف("عمر")           # حذف

# التكرار
لكل مفتاح، قيمة في قاموس
    اطبع_سطر(مفتاح + ": " + قيمة)
نهاية

⚠️ معالجة الأخطاء

sad
حاول
    متغير نتيجة = 10 / 0
امسك خطأ
    اطبع_سطر("حدث خطأ: " + خطأ)
أخيراً
    اطبع_سطر("تنظيف الموارد")
نهاية

# رمي خطأ
ارمي "رسالة الخطأ"

📥 الاستيراد

sad
استورد رياضيات                    # استيراد وحدة كاملة
استورد رياضيات كـ ر               # اسم مستعار
من رياضيات استورد جذر، أس        # استيراد دوال محددة
من رياضيات استورد *              # استيراد كل شيء

🔄 التزامن (Goroutines)

sad
# إنشاء قناة
متغير ق = قناة(10)

# إرسال واستقبال
ق.أرسل(42)
متغير قيمة = ق.استقبل()

# إطلاق goroutine
أطلق دالة_ما()

# إطلاق كتلة
أطلق
    اطبع_سطر("عمل متوازي")
نهاية

# انتظار الكل
انتظر_الكل()

🛠️ الدوال المدمجة

الدالةالوصف
اطبع(...)طباعة بدون سطر جديد
اطبع_سطر(...)طباعة مع سطر جديد
اقرأ()قراءة من المستخدم
طول(قيمة)طول مصفوفة/نص
نوع(قيمة)نوع القيمة
رقم(ق)تحويل إلى رقم
عشري(ق)تحويل إلى عشري
نص(ق)تحويل إلى نص
منطقي(ق)تحويل إلى منطقي

🧮 العوامل

حسابية

+ - * / % ** (أس)

مقارنة

== != < > <= >=

منطقية

&& أو و | || أو أو | ! أو ليس

إسناد

= += -= *= /=


💡 نصائح سريعة

  1. الفاصلة: ، أو , كلاهما مقبول
  2. المنقوطة: ؛ أو ; اختيارية
  3. التعليقات: # سطر أو #* كتلة *#
  4. القسمة: تعطي عشري دائماً — استخدم رقم(أ / ب) للصحيحة
  5. UTF-8: أسماء المتغيرات والدوال يمكن أن تكون عربية بالكامل

📚 روابط مفيدة

مُرخَّص بموجب رخصة MIT