vibe.d'中的别名是什么;什么是饮食模板?

vibe.d'中的别名是什么;什么是饮食模板?,d,vibed,diet,D,Vibed,Diet,我可以在Vibed的Diet源代码中看到void compileditString(string Diet\u code,别名…)(OutputStream-stream)函数 我看到它作为一个模板参数占用了无限多的别名 这些别名是什么?我很难通过源代码搞清楚,它使用了很多概念,比如特征和混合,我不是很了解 这些参数是从render和renderCompat传递过来的。发件人: 以下所有参数必须是一对类型和一个字符串,每个参数指定一个参数。参数值可以作为模板参数指定的相同类型的值传递,也可以作为

我可以在Vibed的Diet源代码中看到
void compileditString(string Diet\u code,别名…)(OutputStream-stream)
函数

我看到它作为一个模板参数占用了无限多的别名


这些别名是什么?我很难通过源代码搞清楚,它使用了很多概念,比如特征和混合,我不是很了解

这些参数是从
render
renderCompat
传递过来的。发件人:

以下所有参数必须是一对类型和一个字符串,每个参数指定一个参数。参数值可以作为模板参数指定的相同类型的值传递,也可以作为存储了相同类型的变量传递

例如:

string title = "Hello, World!";
int pageNumber = 1;
res.renderCompat!("mytemplate.jd",
    string, "title",
    int, "pageNumber")
    (title, pageNumber);

我还是不明白这是怎么回事。最后所有这些变量的意义是什么?它们是如何解释的?另外,完整的文档不使用pairs:
render!(“userinfo.jd”,用户名)(res)~
render
不是
renderCompat
<代码>渲染
使用编译时自省来查询标识符类型和名称。在
renderCompat
中,它们是显式指定的。哦,我现在明白了,那么对于常规函数,您可以只传入变量吗?谢谢。提供这些变量作为别名的目的是在renderd饮食模板中以嵌入的D代码段公开它们。