コンテンツへスキップ

alias

lib 内の alias 宣言は C の typedef を宣言します。

lib X
  alias MyInt = Int32
end

これで Int32MyInt は相互に使用できます。

lib X
  alias MyInt = Int32

  fun some_fun(value : MyInt)
end

X.some_fun 1 # OK

alias は長い型を何度も書くことを避けるために最も役立ちますが、コンパイル時フラグに基づいて型を宣言するためにも役立ちます。

lib C
  {% if flag?(:x86_64) %}
    alias SizeT = Int64
  {% else %}
    alias SizeT = Int32
  {% end %}

  fun memcmp(p1 : Void*, p2 : Void*, size : C::SizeT) : Int32
end

alias 型で使用される表記については、型文法を参照してください。