alias

En utilisant alias vous pouvez donner un nom différent à un type:

alias PInt32 = Pointer(Int32)

ptr = PInt32.malloc(1) # : Pointer(Int32)

A chaque fois que vous utilisez un alias le compilateur le remplace par le type auquel il fait référence.

Les aliases sont utiles pour éviter d'écrire de longs noms de types, mais également pour pouvoir parler de types recursives:

alias RecArray = Array(Int32) | Array(RecArray)

ary = [] of RecArray
ary.push [1, 2, 3]
ary.push ary
ary #=> [[1, 2, 3], [...]]

Un exemple réel de type récursif est json:

module Json
  alias Type = Nil |
               Bool |
               Int64 |
               Float64 |
               String |
               Array(Type) |
               Hash(String, Type)
end

results matching ""

    No results matching ""