3

我正在尋找一種類似於PHP的語言,但更簡單 - 我很想將其稱爲「模板引擎」,但我很確定這是錯誤的術語。什麼是正確的術語?文本預處理器?我想要一個用於元編程的預處理語言

無論如何,我想它是基於.NET的,因爲我想用它來幫助編寫.NET代碼。由於.NET泛型不適用於編寫快速數字代碼(the known workaround太麻煩並且僅限於我的需要),所以我想用某種預處理語言編寫數學庫,以便輸出C#代碼。例如,我想生成一系列的從各種數據類型(的PointF,PointD,PointI等)製成的「點」類:

#foreach(($T, $Type) in {(F, float), (D, double), (I, int), ...}) #{ 
    public struct Point$T { 
     public $Type X, Y; 
     ... 
    } 
#} 

你什麼人精可以建議?

+0

「A LISP」? ;-)我認爲值類型的.NET泛型(當不通過裝箱問題時)應該在運行時專業化和JIT之後非常快速(相對於沒有運行時的Java/JVM專業化,只有「通用」基元的盒裝類型)。 – 2011-04-16 06:04:11

+0

值類型的泛型對於列表或字典等用途很快。但是,泛型類型不能對值類型執行計算,例如將T + T一起添加。我在寫一個數學庫,所以我會在T型上做數學噸。 – Qwertie 2011-04-16 06:09:28

回答

4

你有沒有機會嘗試T4模板?這應該足以滿足你想要實現的目標。 http://msdn.microsoft.com/en-us/library/bb126445.aspx

+1

哇,我當然沒有想到這是內置的!我使用C#Express,所以這裏是一個強制性的鏈接:http://stackoverflow.com/questions/3309551/does-vs-2010-express-edition-support-t4-preprocessed-templates – Qwertie 2011-04-16 06:21:51

+0

感謝您的鏈接,很高興知道 – Naraen 2011-04-16 06:26:55

相關問題