2402d,d的内联导入

原文

template imported(string moduleName)

提供"内联导入",即仅可用来有限查找的导入.如:

void fun(imported!"std.stdio".File input)
{
    ... 正常使用std.stdio中的File ...
}

因为此fun自带依赖项,无需在顶层导入std.stdio.相同方法可用于模板约束:

void fun(T)(imported!"std.stdio".File input, T value)
if (imported!"std.traits".isIntegral!T)
{
    ...
}

内联导入也可结合with语句.在with控制的内,可使用导入模块中的所有符号:

void fun()
{
    with (imported!"std.datetime")
    with (imported!"std.stdio")
    {
        Clock.currTime.writeln;
    }
}

另见:
导致创建导入设施的论坛讨论.

你可能感兴趣的:(dlang,d,d)