المسارات
/
Gleam
Gleam
/
المنهج
/
الأنواع العامة
ال

الأنواع العامة في Gleam

10 تمارين

نبذة عن الأنواع العامة

يكون النوع نوعًا عامًّا عندما يستطيع أن يحتوي على قيم من أي نوع باستخدام معامل نوع.

على سبيل المثال، هذا النوع Box له معامل النوع a (يُكتب بحروف صغيرة).

pub type Box(a) {
  Box(a)
}

معامل النوع a بديل عن أي نوع، لذا يمكن استخدام Box مع السلاسل النصية والأعداد الصحيحة وأي نوع آخر.

Box("Hello, Joe!") // The type is Box(String)

Box(42) // The type is Box(Int)

يمكن للنوع أن يمتلك عدة معاملات نوع بفصلها بفواصل.

pub type Pair(a, b) {
  Pair(a, b)
}

الدوال العامة

يمكن أيضًا استخدام معاملات النوع في وسائط الدوال.

تأخذ هذه الدالة قيمة من النوع a وتستدعي مرتين دالة تأخذ a وتُرجع b.

pub fn twice(value: a, f: fn(a) -> b) -> b {
  f(value)
  f(value)
}
// The type is fn(String, fn(String) -> Nil) -> Nil
twice("Hello, Joe!", io.println)
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة

تعلّم الأنواع العامة

التدريب مقفل

افتح 3 تمارين إضافية لممارسة الأنواع العامة