// تحليل معرف فريد وقراءة إصداره وطباعة صيغته القياسية.
استورد std.io.println;
استورد std.text.number;
استورد std.uuid.uuid;
عرف الرئيسية(): عدد {
دع النص: نص = "123E4567-E89B-12D3-A456-426614174000";
طابق حلل_معرفا_فريدا(&النص) مع
| نتيجة.نجح(المعرف) -> {
اطبع_سطر(نص_معرف_فريد(&المعرف));
اطبع_سطر(طبيعي_إلى_نص(إصدار_معرف_فريد(&المعرف)));
}
| نتيجة.خطأ(_) -> { اطبع_سطر("معرف فريد غير صالح"); أرجع 1; };
دع الخاطئ: نص = "not-a-uuid";
طابق حلل_معرفا_فريدا(&الخاطئ) مع
| نتيجة.نجح(_) -> { اطبع_سطر("غير متوقع"); }
| نتيجة.خطأ(_) -> { اطبع_سطر("رُفض المعرف غير الصالح"); };
أرجع 0;
}// Parsing a UUID, reading its version, and printing its canonical form.
import std.io.println;
import std.text.number;
import std.uuid.uuid;
def main(): int {
let text: string = "123E4567-E89B-12D3-A456-426614174000";
match parse_uuid(&text) with
| result.ok(id) -> {
println(uuid_to_text(&id));
println(uint_to_text(uuid_version(&id)));
}
| result.err(_) -> { println("invalid uuid"); return 1; };
let bad: string = "not-a-uuid";
match parse_uuid(&bad) with
| result.ok(_) -> { println("unexpected"); }
| result.err(_) -> { println("rejected invalid uuid"); };
return 0;
}
التشغيل
بالمفسر، دون ترجمة:
./build/sultanc run examples/ar/ids/uuid.snأو ترجمه إلى ملف تنفيذي:
./build/sultanc examples/ar/ids/uuid.sn -o build/example && ./build/example