Ge

Generics in Gleam

10 Übungen

Über Generics

Ein Typ ist ein generischer Typ, wenn er Werte jedes Typs über einen Typparameter enthalten kann.

Zum Beispiel hat dieser Typ Box den Typparameter a (in Kleinbuchstaben geschrieben).

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

Der Typparameter a ist ein Platzhalter für jeden Typ, also kann Box mit Strings, Ganzzahlen oder jedem anderen Typ verwendet werden.

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

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

Ein Typ kann mehrere Typparameter haben, indem du sie mit Kommas trennst.

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

Generische Funktionen

Typparameter können auch in den Argumenten von Funktionen verwendet werden.

Diese Funktion nimmt einen Wert vom Typ a und ruft zweimal eine Funktion auf, die ein a entgegennimmt und ein b zurückgibt.

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)
Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab

Lerne Generics

Das Üben ist gesperrt

Schalte 3 weitere Übungen frei, um Generics zu üben