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

相关问题