`
oldrev
  • 浏览: 233370 次
  • 性别: Icon_minigender_1
  • 来自: 昆明
社区版块
存档分类
最新评论

D语言最Cool特性

阅读更多
昨天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 的杰出工作!
分享到:
评论

相关推荐

    淘宝前端UED资料-潜力无限的编程语言-javascript

    #### 一、JavaScript语言特性 **1.1 高阶函数** - **定义**: 在JavaScript中,函数被视为第一类公民,这意味着它们可以被赋值给变量、存储在数据结构中、作为参数传递给其他函数以及由其他函数返回。这种特性使得...

    Cool-Turbo:这里可能很酷

    麻省理工学院 (c) Kaushalya Mandaliya",这部分描述带有一定的幽默感,"比酷更酷"可能是在形容Cool-Turbo的非凡特性,比如可能是某种增强版的涡轮增压技术在IT领域的应用,或者是一种高效能的计算工具。提到麻省...

    1请根据多媒体的特性判断以下(.pdf

    10. **全景图制作软件**:Ulead COOL 360可以用来制作全景图,而超级解霸是视频播放软件,Dreamweaver是网页设计软件,VB是编程语言。 11. **Photoshop颜色切换**:D键设置前景色和背景色为默认的黑白,X键则交换...

    最好用的音频编辑软件

    6. Cool2chinese.exe:这可能是将软件界面从英文或其他语言翻译为中文的工具,便于中文用户使用。 7. bbe:bbe可能是指BBE Sound公司,他们开发了一系列音质提升技术,这个文件可能是相关的音频增强算法或者软件...

    Handbook.pdf

    D. 基本 Cypher & 共同查询 Cypher 是 BloodHound 中的一种查询语言,用于查询数据库。基本 Cypher 查询包括查询节点、边缘和路径。 E. 高级 Cypher & 数据库操作 高级 Cypher 查询包括 build-in 查询和自定义...

    FckEditor有用的资源

    **FckEditor**,全称为"FCKeditor"(FCK standing for "Frédéric's Cool Editor"),是一款基于JavaScript的开源富文本编辑器。这款编辑器最初由Frédéric Kan在2003年开发,旨在提供一个轻量级、功能丰富的网页...

    福建省三明市第一中学2017_2018学年高一信息技术下学期期中试题201805241180

    26. 算法描述方式:图8中的描述方式分别是自然语言和计算机语言。 27. 调试程序的目的:调试是为了检查程序的可行性,确保其能按预期工作。 这些题目涵盖了信息技术的基础概念,如信息的定义和特性、信息载体、...

    高中信息技术考试题2.docx

    - **解释**: 题目中的选项D“先用录音笔录制朗诵声音并输入到电脑,再利用CooleditPro软件合成背景音乐”是一个较为合理且实际可行的方案。这种方法既能保证录音的质量,也能灵活地进行后期编辑。 通过上述知识点的...

    2019_2020学年高中英语Unit2WishyouwerehereSectionⅢWordpowerTask&Project

    - "On view of your present bad mood, you’d better put off the work till next week." 正确答案: "In view of your present bad mood, you’d better put off the work till next week." - "Bury in his ...

    东师21春《多媒体计算机技术》在线作业1参考答案.docx

    - **编译器:** 将高级语言转换为机器语言的程序。 - **操作系统:** 控制计算机硬件资源和提供应用程序运行环境的基础软件。 **答案解析:** 题目询问数据库管理系统是什么,正确选项是**B**,即在操作系统支持下的...

    2019高中学业水平考试信息技术模拟试题后附答案.pdf

    例如,天气预报提供的是关于未来天气状况的信息,而足球比赛解说员则通过语言传达比赛的实时情况。 2. 数制转换:十进制数19转换为二进制数,需要进行除2取余的操作。19除2得9余1,9除2得4余1,4除2得2余0,2除2得1...

Global site tag (gtag.js) - Google Analytics