// `تأكد` يوقف البرنامج برمز خروج 1 إذا كان الشرط خاطئا.
استورد std.io.println;
استورد std.debug.assert;
عرف المضروب(العدد_المعطى: عدد): عدد {
إذا (العدد_المعطى <= 1) { أرجع 1; };
أرجع العدد_المعطى * المضروب(العدد_المعطى - 1);
}
عرف الرئيسية(): عدد {
تأكد(المضروب(5) == 120);
دع الرسالة: نص = "يجب أن يكون مضروب 6 هو 720";
تأكد_برسالة(المضروب(6) == 720, &الرسالة);
اطبع_سطر("نجحت كل الفحوص");
أرجع 0;
}// `assert` stops the program with exit code 1 when a condition is false.
import std.io.println;
import std.debug.assert;
def factorial(number: int): int {
if (number <= 1) { return 1; };
return number * factorial(number - 1);
}
def main(): int {
assert(factorial(5) == 120);
let message: string = "factorial(6) must be 720";
assert_with_message(factorial(6) == 720, &message);
println("all checks passed");
return 0;
}
التشغيل
بالمفسر، دون ترجمة:
./build/sultanc run examples/ar/errors/assertions.snأو ترجمه إلى ملف تنفيذي:
./build/sultanc examples/ar/errors/assertions.sn -o build/example && ./build/example