Как импортировать только конструктор типов в Gleam?

Я хочу импортировать конструктор типа, но не сам тип.

Например, мне нужно использовать None из типа Option:

import gleam/option.{type None}

pub type MyType {
  MyType(value: Option(Int))
}

pub fn build_type() {
  MyType(None)
}

Однако этот код не компилируется:

error: Unknown module type
  ┌─ /src/main.gleam:1:22
  │
1 │ import gleam/option.{type None}
  │                      ^^^^^^^^^ Did you mean `Option`?

The module `gleam/option` does not have a `None` type.

Как правильно импортировать конструктор типа None?


71
1

Ответ:

Решено

В Gleam None — это не тип, а конструктор типов. Конструкторам типов не требуется ключевое слово type в операторе import. Вместо этого вы можете напрямую импортировать его следующим образом:

import gleam/option.{None}