Треки
/
Gleam
Gleam
/
Салабус
/
Узагальнення
Уз

Узагальнення у Gleam

10 вправ

Про концепцію Узагальнення

Тип називається узагальненим типом, коли він може містити значення будь-якого типу за допомогою параметра типу.

Наприклад, цей тип Box має параметр типу a (його записують малими літерами).

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

Параметр типу a є заповнювачем для будь-якого типу, тож Box можна використовувати з рядками тексту (англ. string), цілими числами чи будь-яким іншим типом.

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 вправи, щоб практикувати концепцію Узагальнення