from
および import
を使用することで,他ユニットの定義を参照することが出来ます.
from <UNITNAME> import <NAME>;
from <UNITNAME> import <NAME>, ...;
UNITNAME は . で区切られた文字列です.
ただし,同じ UNITNAME をもつ ユニット(Unit) が定義されていない場合,エラーになります.
NAME は . を含まない文字列です.
ただし,from
で指定した ユニット(Unit) 内に NAME が定義されていない場合,エラーになります.
ユニット間参照できるのは データ(Data) または モジュール(Module) です.
unit test.A;
data DataA {
x: i32,
y: i32
}
module ModuleA {
func new() -> DataA {
@return a
@spawn a: DataA
}
}
unit test.B;
from test.A import DataA, ModuleA;
module ModuleB {
func new_data_a() -> DataA {
@return data_a
@spawn data_a: DataA {
let a = ModuleA.new();
return a;
}
}
}