تخطَّ إلى المحتوى

العمليات

مرجع شامل لجميع العمليات المدعومة في لغة كنوز.

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

الترتيب من الأعلى للأدنى:

  1. () - الأقواس
  2. !, - (أحادي) - النفي والسالب
  3. *, /, % - الضرب والقسمة
  4. +, - - الجمع والطرح
  5. <<, >> - الإزاحة
  6. <, >, <=, >= - المقارنة
  7. ==, != - المساواة
  8. & - و البت
  9. ^ - أو الحصرية
  10. | - أو البت
  11. و, && - و المنطقية
  12. أو, || - أو المنطقية
  13. =, +=, -=, … - الإسناد
// أمثلة على الأولوية
دع نتيجة = 2 + 3 * 4; // = 14 (الضرب أولاً)
دع نتيجة2 = (2 + 3) * 4; // = 20 (الأقواس أولاً)
دع شرط = 5 > 3 و 10 < 20; // صح (المقارنات ثم و)