如何將類型轉換爲字符串?鍵入字符串
我覺得這樣的事情應該工作
import std.stdio: writeln;
import std.conv: to;
writeln(to!string(int));
更新:我發現它在http://dlang.org/phobos/std_traits.html#.fullyQualifiedName
我猜d所有邏輯上的操作類型,給出作爲模板參數吧?
如何將類型轉換爲字符串?鍵入字符串
我覺得這樣的事情應該工作
import std.stdio: writeln;
import std.conv: to;
writeln(to!string(int));
更新:我發現它在http://dlang.org/phobos/std_traits.html#.fullyQualifiedName
我猜d所有邏輯上的操作類型,給出作爲模板參數吧?
int
已經是一種類型。你不需要typeof
它。
您可以使用.stringof
屬性來獲取字符串表示形式。 http://ideone.com/T4yYmo
writeln(int.stringof);
啊哈!那麼最好的方法是什麼? 'stringof'或'to!string'? –
正如我認爲你發現的,to!string不是一個選項。 stringof是一個編譯器屬性,用於請求符號字符串rep。在你的case writeln(「int」)中打印模板參數tipes時,這很有用。就足夠了:) –
是,在所有類型的邏輯將與模板參數進行。除了使用TypeInfo實例檢查運行時多態類型(如動態類型轉換或可變參數函數(與更常見的可變參數模板相反))之外。你可以通過typeid屬性獲得typeinfo,但它不如實際擁有類型那樣普遍有用,這隻能通過typeof(var)或模板參數或者類型實際上是一種模板參數thingy來實現。 –