Skip to content

المتغيّراتُ والأنواع

هدفُك: أن تُسمّيَ قيمةً وتستعملَها.

عرِّفْ متغيّرًا

sad
متغير اسم = "سالم"
متغير عمر = 30
ثابت ط = 3
اطبع_سطر(اسم)
اطبع_سطر(عمر)
اطبع_سطر(ط * 2)
سالم
30
6

متغير قيمةٌ تتبدَّل، وثابت قيمةٌ لا تتبدَّل. وكلاهما كلمةٌ محجوزةٌ في keywords.yaml. والقاعدةُ المُعلَنة: gr.decl.variable.

الأسماءُ عربيّةٌ بلا قيد

عدد_العناصر_الكلي · القيمة٢ · الحدّ — كلُّها أسماءٌ صالحةٌ مقيسة. والأرقامُ العربيّةُ الهنديّةُ (٢) تصلحُ في الاسم، والشدّةُ والتنوينُ كذلك.

أعِدِ الإسناد

sad
متغير س = 5
س = س * 2
اطبع_سطر(س)
10

بلا متغير في السطرِ الثاني. وإعادةُ إسنادِ ثابتٍ رفضٌ مُعلَن:

error: [SEM007] (AR) لا يمكن تعديل الثابت 'ح'
  → غيّر 'ثابت ح' إلى 'متغير ح' في موضع التعريف، أو احذف محاولة الإسناد.

اذكُرِ النوعَ إن شئت

النوعُ يسبقُ الاسم:

sad
متغير رقم ص = 7
متغير نص ن = "سطر"
متغير منطقي م = صحيح
متغير عشري ع = 2.5
اطبع_سطر(ص)
اطبع_سطر(ن)
اطبع_سطر(م)
اطبع_سطر(ع)
7
سطر
صحيح
2.5

النوعُ المكتوبُ اليومَ توثيقٌ أكثرَ منه حراسة

مقيسٌ: متغير رقم س = 5 ثمّ س = "نص" يُترجَمُ ويعمل ويطبعُ نص. فحصُ الأنواعِ المتقدِّمُ عَلَمٌ منفصلٌ في المترجِّم (--فحص-الأنواع و--أنواع-صارمة) لا سلوكٌ افتراضيّ. فلا تعتمدْ على النوعِ المكتوبِ حارسًا.

أسماءُ الأنواعِ المدمَجةِ الشائعة

من keywords.yaml — سبعةَ عشرَ اسمًا، وهذه أكثرُها استعمالًا للمبتدئ:

الاسمما هو
رقمعدد صحيح (i64)
عشريعدد عشري (f64)
نصنصّ UTF-8
منطقيصحيح أو خطأ
مصفوفةمصفوفةٌ ديناميّة
خريطةخريطةُ مفتاحٍ إلى قيمة
أيأيُّ نوع

حوِّلْ بين الأنواع

نص · رقم · عشري · منطقي دوالُّ تحويلٍ مدمَجةٌ مستقرّة:

sad
متغير ن = "42"
متغير ق = رقم(ن)
اطبع_سطر(ق + 1)
اطبع_سطر(نص(3.5))
اطبع_سطر(عشري(7))
اطبع_سطر(منطقي(1))
43
3.5
7.0
صحيح

القسمةُ بين الصحيحَين صحيحة

sad
اطبع_سطر(7 / 2)
اطبع_سطر(7.0 / 2)
اطبع_سطر(عشري(7) / 2)
3
3.5
3.5

فإن أردتَ كسرًا، اجعلْ أحدَ الطرفَينِ عشريًّا.

مصفوفةٌ في سطر

الفاصلةُ العربيّةُ ، هي الفاصلة:

sad
متغير أسماء = ["سالم"، "هند"، "زيد"]
اطبع_سطر(طول(أسماء))
اطبع_سطر(أسماء[1])
3
هند

الفهرسةُ تبدأُ من صفر، وطول مدمَجةٌ مستقرّةٌ تُرجِعُ رقم.

تجاوزُ الحدِّ خطأٌ زمنيٌّ لا خطأُ ترجمة

أسماء[10] يُترجَمُ بلا شكوى، ثمّ يُخفِقُ عندَ التشغيل بـ [RUN002] الفهرس 10 خارج نطاق مصفوفة (الطول 3).

ثمّ

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