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

دليل سريع

مرجع سريع لجميع عناصر بناء الجملة في كنوز.

دع ثابت = 10; // ثابت (غير قابل للتغيير)
دع متغير قابل = 20; // قابل للتغيير
دع مع_نوع: صحيح = 30; // مع تحديد النوع
صحيح // عدد صحيح
ص64 // صحيح 64-بت
عشري // عدد عشري
ع64 // عشري 64-بت
نص // سلسلة نصية
منطقي // صح أو خطأ
حرف // حرف واحد
// حسابية
+ - * / %
// مقارنة
== != < > <= >=
// منطقية
و أو !
&& ||
// إسناد
= += -= *= /= %=
// نطاق
.. // حصري
..= // شامل
// تعريف بسيط
دالة تحية() {
اطبع("مرحباً");
}
// مع معاملات
دالة جمع(أ: صحيح, ب: صحيح) {
اطبع_صحيح(أ + ب);
}
// مع قيمة مُرجعة
دالة مربع(س: صحيح) -> صحيح {
أرجع س * س;
}
// لامدا
دع ضعف = |س: صحيح| -> صحيح { س * 2 };
// شرط
إذا شرط {
// ...
} وإلا إذا شرط_آخر {
// ...
} وإلا {
// ...
}
// حلقة طالما
طالما شرط {
// ...
}
// حلقة لكل
لكل عنصر في مجموعة {
// ...
}
// حلقة بنطاق
لكل ت في 0..10 {
// ...
}
// حلقة لا نهائية
كرر {
// ...
إذا شرط_خروج {
أوقف;
}
}
// التخطي
تابع; // تخطي للتكرار التالي
أوقف; // الخروج من الحلقة
طابق قيمة {
0 => { اطبع("صفر"); }
1 | 2 | 3 => { اطبع("صغير"); }
4..=10 => { اطبع("متوسط"); }
_ => { اطبع("افتراضي"); }
}
// مصفوفة (حجم ثابت)
دع أ: [صحيح; 5] = [1, 2, 3, 4, 5];
// صف
دع ص = (10, "نص", صح);
دع أول = ص.0;
// متجه
دع متغير م: متجه<صحيح> = متجه[];
م.ادفع(10);
// قاموس
دع متغير ق: قاموس<نص, صحيح> = قاموس[];
ق.أضف("مفتاح", 100);
هيكل اسم_الهيكل {
حقل١: نوع١,
حقل٢: نوع٢
}
نفذ اسم_الهيكل {
دالة جديد() -> ذاتي {
أرجع ذاتي { حقل١: قيمة, حقل٢: قيمة };
}
دالة طريقة(&ذاتي) {
// ...
}
}
تعداد اسم_التعداد {
قيمة١,
قيمة٢,
قيمة٣(نوع)
}
// الاختياري
اختياري<ن> // بعض(ق) أو عدم
// النتيجة
نتيجة<ن, خ> // موافق(ق) أو فشل(خ)
سمة اسم_السمة {
دالة طريقة(&ذاتي);
}
نفذ اسم_السمة لـ اسم_الهيكل {
دالة طريقة(&ذاتي) {
// التنفيذ
}
}
// الأنواع المرتبطة المعممة (GATs) — جديد!
سمة حاوية {
نوع عنصر<ط>;
دالة أول(&ذاتي) -> صحيح;
}
// هيكل عام
هيكل صندوق<ن> {
قيمة: ن
}
// دالة عامة
دالة اطبع<ن>(قيمة: ن) {
// ...
}
// ثوابت عامة
هيكل مصفوفة<ن, ثابت حجم: صحيح> {
عناصر: [ن; حجم]
}
&متغير // مرجع
&متغير ت // مرجع قابل للتغيير
*مرجع // فك المرجع
جرب {
// كود قد يفشل
} التقط خطأ {
// معالجة الخطأ
} أخيرا {
// تنظيف دائم
}
ألق "رسالة الخطأ";
// خيط جديد (يستخدم الخيوط الخضراء تلقائياً)
دع خ = أطلق || {
// كود الخيط
};
خ.انضم();
// الخيوط الخضراء (M:N) — جديد!
دع مقبض = أطلق(عمل_فرعي());
دع نتيجة = انتظر(مقبض);
تنازل(); // السماح لخيوط أخرى بالعمل
// قفل
دع قفل = قفل_تبادلي(0);
{
دع م = قفل.أقفل();
// التعديل الآمن
}
// قناة
دع (مرسل, مستقبل) = قناة();
مرسل.أرسل(قيمة);
دع ق = مستقبل.استقبل();
// قناة خضراء
دع قخ = قناة_خضراء(10);
إرسال_أخضر(قخ, 42);
دع ق = استقبال_أخضر(قخ);
// القراءة
دع محتوى = اقرأ_ملف("مسار/الملف");
// الكتابة
اكتب_ملف("مسار/الملف", "المحتوى");
// مقبض ملف
دع ملف = افتح_ملف("مسار", "r");
دع سطر = اقرأ_سطر_ملف(ملف);
أغلق_ملف(ملف);
اطبع("نص"); // نص
اطبع_سطر!("نص {}", متغير); // مع تنسيق
اطبع_صحيح(42); // عدد صحيح
اطبع_عشري(3.14); // عدد عشري
جذر_تربيعي(16.0) // 4.0
قوة_ع(2.0, 3.0) // 8.0
جيب(0.0) // 0.0
جتا(0.0) // 1.0
تقريب(3.7) // 4.0
صحيح_لنص(42) // "42"
عشري_لصحيح(3.7) // 3
دع ت = وقت(); // الوقت الحالي
نم(1000); // انتظار 1 ثانية
دع م = احجز(1024); // حجز 1 كيلوبايت
حرر(م); // تحرير الذاكرة
ذاتي // المثيل الحالي
_ // تجاهل (في المطابقة)
-> // نوع القيمة المُرجعة
=> // في عبارات المطابقة
:: // فاصل المسار