2013-10-08 70 views
1

如何將類型轉換爲字符串?鍵入字符串

我覺得這樣的事情應該工作

import std.stdio: writeln; 
import std.conv: to; 
writeln(to!string(int)); 

更新:我發現它在http://dlang.org/phobos/std_traits.html#.fullyQualifiedName

我猜d所有邏輯上的操作類型,給出作爲模板參數吧?

+1

是,在所有類型的邏輯將與模板參數進行。除了使用TypeInfo實例檢查運行時多態類型(如動態類型轉換或可變參數函數(與更常見的可變參數模板相反))之外。你可以通過typeid屬性獲得typeinfo,但它不如實際擁有類型那樣普遍有用,這隻能通過typeof(var)或模板參數或者類型實際上是一種模板參數thingy來實現。 –

回答

4
  1. int已經是一種類型。你不需要typeof它。

  2. 您可以使用.stringof屬性來獲取字符串表示形式。 http://ideone.com/T4yYmo

    writeln(int.stringof); 
    
+0

啊哈!那麼最好的方法是什麼? 'stringof'或'to!string'? –

+0

正如我認爲你發現的,to!string不是一個選項。 stringof是一個編譯器屬性,用於請求符號字符串rep。在你的case writeln(「int」)中打印模板參數tipes時,這很有用。就足夠了:) –