// تحليل عناوين IPv4 وطباعتها؛ والعناوين المشوهة تُرفض.
استورد std.io.println;
استورد std.net.ip;
عرف الرئيسية(): عدد {
دع المنزل: نص = "192.168.1.20";
طابق حلل_عنوان_آيبي4(&المنزل) مع
| نتيجة.نجح(العنوان) -> { اطبع_سطر(نص_عنوان_آيبي4(&العنوان)); }
| نتيجة.خطأ(_) -> { اطبع_سطر("غير صالح"); };
دع الخطأ_المتعمد: نص = "300.1.2.3";
طابق حلل_عنوان_آيبي4(&الخطأ_المتعمد) مع
| نتيجة.نجح(_) -> { اطبع_سطر("غير متوقع"); }
| نتيجة.خطأ(_) -> { اطبع_سطر("رُفض 300.1.2.3"); };
أرجع 0;
}// Parsing and printing IPv4 addresses; malformed addresses are rejected.
import std.io.println;
import std.net.ip;
def main(): int {
let home: string = "192.168.1.20";
match parse_ipv4(&home) with
| result.ok(address) -> { println(ipv4_to_text(&address)); }
| result.err(_) -> { println("invalid"); };
let wrong: string = "300.1.2.3";
match parse_ipv4(&wrong) with
| result.ok(_) -> { println("unexpected"); }
| result.err(_) -> { println("rejected 300.1.2.3"); };
return 0;
}
التشغيل
بالمفسر، دون ترجمة:
./build/sultanc run examples/ar/net/ip_addresses.snأو ترجمه إلى ملف تنفيذي:
./build/sultanc examples/ar/net/ip_addresses.sn -o build/example && ./build/example