العمليات
العمليات
Section titled “العمليات”مرجع شامل لجميع العمليات المدعومة في لغة كنوز.
العمليات الحسابية
Section titled “العمليات الحسابية”| العملية | الرمز | المثال | الوصف |
|---|---|---|---|
| الجمع | + | أ + ب | جمع قيمتين |
| الطرح | - | أ - ب | طرح قيمة من أخرى |
| الضرب | * | أ * ب | ضرب قيمتين |
| القسمة | / | أ / ب | قسمة قيمة على أخرى |
| باقي القسمة | % | أ % ب | الباقي من القسمة |
دع أ = 10;دع ب = 3;
اطبع_سطر!("الجمع: {}", أ + ب); // 13اطبع_سطر!("الطرح: {}", أ - ب); // 7اطبع_سطر!("الضرب: {}", أ * ب); // 30اطبع_سطر!("القسمة: {}", أ / ب); // 3اطبع_سطر!("الباقي: {}", أ % ب); // 1عمليات المقارنة
Section titled “عمليات المقارنة”| العملية | الرمز | المثال | الوصف |
|---|---|---|---|
| يساوي | == | أ == ب | هل القيمتان متساويتان |
| لا يساوي | != | أ != ب | هل القيمتان مختلفتان |
| أكبر من | > | أ > ب | هل الأولى أكبر |
| أصغر من | < | أ < ب | هل الأولى أصغر |
| أكبر أو يساوي | >= | أ >= ب | هل الأولى أكبر أو تساوي |
| أصغر أو يساوي | <= | أ <= ب | هل الأولى أصغر أو تساوي |
دع س = 5;دع ص = 10;
إذا س < ص { اطبع("س أصغر من ص");}
إذا س != ص { اطبع("القيمتان مختلفتان");}
إذا س >= 1 و س <= 10 { اطبع("س بين 1 و 10");}العمليات المنطقية
Section titled “العمليات المنطقية”| العملية | الرمز | المثال | الوصف |
|---|---|---|---|
| و المنطقية | و أو && | أ و ب | صحيح إذا كلاهما صحيح |
| أو المنطقية | أو أو || | أ أو ب | صحيح إذا أحدهما صحيح |
| النفي | ! | !أ | عكس القيمة المنطقية |
دع أ = صح;دع ب = خطأ;
// استخدام الكلمات العربيةإذا أ و ب { اطبع("كلاهما صحيح");}
إذا أ أو ب { اطبع("أحدهما على الأقل صحيح"); // يُطبع}
// استخدام الرموزإذا أ && !ب { اطبع("أ صحيح و ب خطأ"); // يُطبع}
إذا !أ || ب { اطبع("أ خطأ أو ب صحيح");}عمليات الإسناد
Section titled “عمليات الإسناد”| العملية | الرمز | المثال | المكافئ |
|---|---|---|---|
| الإسناد | = | أ = 5 | - |
| إسناد الجمع | += | أ += 3 | أ = أ + 3 |
| إسناد الطرح | -= | أ -= 2 | أ = أ - 2 |
| إسناد الضرب | *= | أ *= 4 | أ = أ * 4 |
| إسناد القسمة | /= | أ /= 2 | أ = أ / 2 |
| إسناد الباقي | %= | أ %= 3 | أ = أ % 3 |
دع متغير عداد = 10;
عداد += 5; // الآن = 15عداد -= 3; // الآن = 12عداد *= 2; // الآن = 24عداد /= 4; // الآن = 6عداد %= 4; // الآن = 2
اطبع_صحيح(عداد);عمليات البت (Bitwise)
Section titled “عمليات البت (Bitwise)”| العملية | الرمز | المثال | الوصف |
|---|---|---|---|
| و (AND) | & | أ & ب | و على مستوى البت |
| أو (OR) | | | أ | ب | أو على مستوى البت |
| أو الحصرية (XOR) | ^ | أ ^ ب | أو الحصرية على مستوى البت |
| إزاحة يسار | << | أ << 2 | إزاحة البتات يساراً |
| إزاحة يمين | >> | أ >> 2 | إزاحة البتات يميناً |
دع أ = 5; // 0101 في النظام الثنائيدع ب = 3; // 0011 في النظام الثنائي
اطبع_صحيح(أ & ب); // 1 (0001)اطبع_صحيح(أ | ب); // 7 (0111)اطبع_صحيح(أ ^ ب); // 6 (0110)اطبع_صحيح(أ << 1); // 10 (1010)اطبع_صحيح(أ >> 1); // 2 (0010)عملية النطاق
Section titled “عملية النطاق”| العملية | الرمز | المثال | الوصف |
|---|---|---|---|
| نطاق حصري | .. | 1..5 | من 1 إلى 4 |
| نطاق شامل | ..= | 1..=5 | من 1 إلى 5 |
// نطاق حصري (لا يشمل النهاية)لكل ي في 1..5 { اطبع_صحيح(ي); // يطبع 1, 2, 3, 4}
// نطاق شامللكل ي في 1..=5 { اطبع_صحيح(ي); // يطبع 1, 2, 3, 4, 5}عمليات الوصول
Section titled “عمليات الوصول”| العملية | الرمز | المثال | الوصف |
|---|---|---|---|
| الوصول للحقل | . | هيكل.حقل | الوصول لحقل في هيكل |
| الوصول للفهرس | [] | مصفوفة[0] | الوصول لعنصر في مصفوفة |
| استدعاء الدالة | () | دالة() | استدعاء دالة |
| فاصل المسار | :: | وحدة::دالة | الوصول لعنصر في وحدة |
// الوصول لحقل في هيكلهيكل شخص { اسم: نص, عمر: صحيح}
دع متغير ش = شخص { اسم: "أحمد", عمر: 25 };اطبع(ش.اسم);ش.عمر = 26;
// الوصول لعناصر المصفوفةدع أعداد = [10, 20, 30];اطبع_صحيح(أعداد[0]); // 10اطبع_صحيح(أعداد[1]); // 20
// استدعاء الدوالدالة تحية(اسم: نص) { اطبع("مرحباً"); اطبع(اسم);}تحية("محمد");عمليات المرجع
Section titled “عمليات المرجع”| العملية | الرمز | المثال | الوصف |
|---|---|---|---|
| أخذ مرجع | & | &متغير | إنشاء مرجع للمتغير |
| مرجع قابل للتغيير | &متغير | &متغير م | مرجع يسمح بالتعديل |
| فك المرجع | * | *مرجع | الوصول للقيمة الأصلية |
دع متغير س = 5;دع مرجع = &س; // مرجع للقراءة فقطدع مرجع_م = &متغير س; // مرجع للتعديل
// تعديل عبر المرجع القابل للتغيير*مرجع_م = 10;
اطبع_صحيح(س); // 10أولوية العمليات
Section titled “أولوية العمليات”الترتيب من الأعلى للأدنى:
()- الأقواس!,-(أحادي) - النفي والسالب*,/,%- الضرب والقسمة+,-- الجمع والطرح<<,>>- الإزاحة<,>,<=,>=- المقارنة==,!=- المساواة&- و البت^- أو الحصرية|- أو البتو,&&- و المنطقيةأو,||- أو المنطقية=,+=,-=, … - الإسناد
// أمثلة على الأولويةدع نتيجة = 2 + 3 * 4; // = 14 (الضرب أولاً)دع نتيجة2 = (2 + 3) * 4; // = 20 (الأقواس أولاً)
دع شرط = 5 > 3 و 10 < 20; // صح (المقارنات ثم و)