دالة عامة تعمل مع أي نوع
عرف هوية<T>(القيمة: T): T {
أرجع القيمة;
}
عرف الرئيسية(): عدد {
دع الرقم: عدد = هوية(42);
دع الحقيقة: منطقي = هوية(صواب);
إذا (الحقيقة) { أرجع الرقم; };
أرجع 1;
}def identity<T>(value: T): T {
return value;
}
def main(): int {
let number: int = identity(42);
let truth: bool = identity(true);
if (truth) { return number; };
return 1;
}
التشغيل
بالمفسر، دون ترجمة:
./build/sultanc run examples/ar/generics/identity.snأو ترجمه إلى ملف تنفيذي:
./build/sultanc examples/ar/generics/identity.sn -o build/example && ./build/example