3
我可以在Vibed's Diet源代碼中看到void compileDietString(string diet_code, ALIASES...)(OutputStream stream__)
函數。什麼是vibe.d的飲食模板中的別名?
我發現它佔用了無限量的別名,作爲模板參數。
這些別名是什麼?我無法通過源代碼找出問題,它使用了很多概念,比如特徵和混入,這些我都不太瞭解。
我可以在Vibed's Diet源代碼中看到void compileDietString(string diet_code, ALIASES...)(OutputStream stream__)
函數。什麼是vibe.d的飲食模板中的別名?
我發現它佔用了無限量的別名,作爲模板參數。
這些別名是什麼?我無法通過源代碼找出問題,它使用了很多概念,比如特徵和混入,這些我都不太瞭解。
這些參數從render
和renderCompat
傳遞。從the documentation of renderCompat
:
以下所有參數必須是一對類型和字符串,每個指定一個參數。參數值可以作爲模板參數指定的相同類型的值傳遞,也可以作爲存儲相同類型的Variant傳遞。
例子:
string title = "Hello, World!";
int pageNumber = 1;
res.renderCompat!("mytemplate.jd",
string, "title",
int, "pageNumber")
(title, pageNumber);
我還是不明白是如何工作的。最後所有這些變量的意義何在?它們如何得到解釋?另外,完整的文檔不使用配對:'render!(「userinfo.jd」,username)(res);'〜http://vibed.org/docs#http-routing –
'render'不是'renderCompat' 。 'render'使用編譯時自省來查詢標識符類型和名稱。在'renderCompat'中,它們是明確指定的。 –
哦,我現在看到,所以對於常規函數,你可以傳遞變量?謝謝。 –