2007-02-07
D语言最Cool特性
关键字: D 元编程
昨天Walter 发布了D语言编译器 DMD 1.005版,添加了有史以来最Cool的语言特性:mixin/import 语句。
mixin(字符串常量表达式) 语句可以在编译时把字符串常量表达式的结果作为源程序的一部分插入到当前作用域中,举个例子来说:
int a = 2;
mixin("int x = 2; x = 3;");
int y = 6;
x = 4;
就等价于你亲手写:
int a = 2;
int x = 2; x = 3;
int y = 6;
x = 4;
更cool的是import语句,import(字符串差常量表达式) 语句可以把字符串常量作为文件名指定的文件内容读入并返回成为另一个字符串常量,比如:
auto str = import("foo.d");
执行结果是把 foo.d 文件的内容赋给 str。
最cool的是把两个语句联合起来使用: mixin(import("foo.d")),结果就是给 D 语言提供了#include。外加新提供的编译时字符串操纵库,使得D拥有了威力无比的meta编程能力,特别适用于代码自动化生成的场合。
感谢 Walter Bright 的杰出工作!
mixin(字符串常量表达式) 语句可以在编译时把字符串常量表达式的结果作为源程序的一部分插入到当前作用域中,举个例子来说:
int a = 2;
mixin("int x = 2; x = 3;");
int y = 6;
x = 4;
就等价于你亲手写:
int a = 2;
int x = 2; x = 3;
int y = 6;
x = 4;
更cool的是import语句,import(字符串差常量表达式) 语句可以把字符串常量作为文件名指定的文件内容读入并返回成为另一个字符串常量,比如:
auto str = import("foo.d");
执行结果是把 foo.d 文件的内容赋给 str。
最cool的是把两个语句联合起来使用: mixin(import("foo.d")),结果就是给 D 语言提供了#include。外加新提供的编译时字符串操纵库,使得D拥有了威力无比的meta编程能力,特别适用于代码自动化生成的场合。
感谢 Walter Bright 的杰出工作!
发表评论
- 浏览: 105141 次
- 性别:

- 来自: 昆明

- 详细资料
搜索本博客
我的相册
Screenshot
共 1 张
共 1 张
最近加入圈子
最新评论
-
出色的开源项目管理软件— ...
我也是前几天刚刚从trac换到redmine,感觉好多了,trac有的redmi ...
-- by danielking -
转贴:鲁迅未收入全集的文 ...
借问酒家何处有,牧童遥指杏花村
-- by hqs7636 -
Range Coding 的 D 实现
引用oldrev 2008-01-12LZMA SDK 只是一个 LZMA 算法 ...
-- by oldrev -
D 静态数组初始化大bug
看看日期好伐?
-- by oldrev -
D新闻组里的天才代码
没看过产生的汇编代码,测试了是可行的。如果用宏来实现就完美了
-- by oldrev






评论排行榜