`
qiezi
  • 浏览: 492902 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

D语言令人喜爱的几个地方

    博客分类:
  • D
阅读更多
1、去掉了丑陋的宏。
C/C++中的宏是很令人厌烦的,D不允许再使用它。

2、好用的字符串常量表达式。
除了类C的使用双引号的字符串常量表达式以外,还可以使用`字符。可以使用x"68 65 6C6C 6F"来表示"hello",r"ab\na"则忽略字符串常量中转义字符的转义作用,还可以在字符串常量后加上c, w或d来指示字符串常量是char[]类型、wchar[]类型还是dchar[]类型。可以使用~运算符连接2个字符串。

3、数字。
数字可以直接使用,还可以这样来定义:int a = 3_029_301_000; 数字直接量(包括整数、浮点数、复数)表达式中,“_”字符是被忽略的。另外还直接提供了复数类型。

4、提供定长数组、变长数组、关联数组。
int[3] a定义一个定长数组;int [] a定义一个变长数组;int[int]定义一个关联数组,键类型是int,值类型是int;int[char[]] a定义一个关联数组,键类型是char[],值类型是int,使用非常方便。
可以使用foreach来遍历数组:
foreach (int index, int value; a)
  printf (
"%d: %d\n", index, value);
foreach (char[] key, int value; a)
  printf (
"%.*s: %d\n", index, value);

可以使用in操作符来判断某个值是否是关联数组的一个键:
int[char[]] a;
if ("hello" in a)
  writefln (
"hello");

数组可以切片(slice):
int[] a; 
int[] b = a[1..3]; 
int[] c = a[1..length];

等等。。。。

5、其它还支持委托、函数指针、模板、异常、RAII、契约式编程、单元测试、with语句、auto/typeof、垃圾回收、操作符重载、内联汇编、条件编译、嵌入到HTML等,它还标准化了ABI(这是C/C++最让人头痛的地方之一)。这些特性大部分都比较熟悉和实用,下面简单介绍一下条件编译和嵌入到HTML。

6、条件编译。
在D中,可以使用version(VersionID)来进行条件编译:
version (Win32)
{
  
//
}
else
{
  
//..
}

还可以使用debug条件:
debug
{
  
//
}
else
{
  
//
}

或者:
debug printf ("hello");
静态条件编译:
const int n=1;
static if (n == 1)
  writefln (
"hello");
else
  writefln (
"world");

类型检查:
int n = 3;
if (is(n[]))
  writefln (
"like array");
if (is(n:int))
  writefln (
"is an integer");


7、嵌入HTML。
在一个HTML文件中,<code>和</code>之间的部分可以当作D代码来编译。比如下面这段代码:
<h1>This is a test</h1>
<code>
import std.c.stdio;

int 
<font size=+1><b>main</b></font>()
{
&nbsp;<span style="color:red">printf</span>(<u>&quot;hello world\n&quot;</u>);
&nbsp;return 0;
}
</code>
<hr />
<h1> End </h1>

把它存储为HTML文件,可以直接使用dmd编译器编译。
分享到:
评论
1 楼 wugc 2008-12-05  
尽捡些没用的说。

相关推荐

    D语言中文文档 D语言中文文档

    强大的D语言,中文文档. D语言中文文档 D语言中文文档 D语言中文文档 D语言中文文档

    D语言简易教程

    D语言(Dlang)是由Digital Mars公司开发的编程语言,起因是为了改进C++。它与C二进制兼容(不完全),可编译为本地码,有GC也可手动管理内存,语法上借鉴多种语言,模板则 在C++的基础上做了相当大的扩充。D 语言...

    D语言开发手册

    D语言由著名的语言设计和实现专家Walter Bright创造,历经最初的怀疑与不屑,逐渐成为令整个系统开发者社群瞩目的明日之星。与当今出现的其他高级语言不通,D语言的定位是系统编程语言,它的目标是既要C语言的强大...

    D 语言 IDE Poseidon Editor for D rev.272

    D语言是个杂交语言,如果你学习过N多语言,那么你看D语言中会很看很多你学习过语言的影子,有的特性或者关键字原封不动的照抄过来 D语言是编译的,Poseidon 是给D用的。。也可以用过其它的编辑器

    D语言程序设计 中文文档

    什么是 D 语言? D 是一种通用的系统和应用编程语言。它是比C++更高级的语言,同时还保持了生成高效代码以及直接访问操作系统API和硬件的能力。D 很适合于编写从中等规模到那些由团队合作完成、数百万行代码规模的...

    D语言环境解压包

    D语言环境,D语言环境解压包,d语言

    关于D语言

    D语言 D语言 D语言

    编译时开发D语言

    编译时开发D语言

    D语言1.0规范(英文版和中文翻译)

    D语言是一门融合了C++、Java以及C#等众多语言优秀特性的新程序设计语言。它拥有Java和C#的高级编程特性以及快速开发能力,也保留了C++的高效性能,她不需要虚拟机,是数十年来各种语言经验的积累。其开发者是...

    D程序设计语言.(美)Andrei.Alexandrescu著

    D语言是一种通用的系统和应用编程语言,...《D程序设计语言》不仅适合于D语言初学者,对于想学习编译器实现的研究人员、想拓展学生的编程语言知识面的教师以及想深入了解编程语言设计的人,也能提供很好的帮助和指导。

    D语言特性及开发简介

    D语言是由Digital Mars公司开发的编程语言,起因是为了改进C++。它与C二进制兼容(不完全),可编译为本地码,有GC也可手动管理内存,语法上借鉴多种语言,模板则在C++的基础上做了相当大的扩充。D 语言既有 C ...

    d语言ide:poseidon

    D语言是结合了C#、Java和C++以及PHP、Python等动态语言的特性于一身,且不依赖于虚拟机,而是作为可执行程序单独来运行的,这样它的效率非常高。 此为d语言ide:poseidon

    D 语言 2.0 编程参考手册(上中下)

    什么没听说过D语言?那下来看看吧 第一届《D 编程语言大会》于2007年8月23至24日在亚马逊河边的西雅图举办。 D 是一种系统编程语言。它的重点在于整合了 C 和 C++ 的强大及高性能,同时又具有像现 代语言 Ruby 和 ...

    D 语言详细教程

    关于D语言的非常详细的教程,希望对大家学习D语言有所帮助~~~~~~~~~~~~

    D语言编译器Windows安装包

    这个是D语言window环境下编译器的安装包

    D语言操作Excel

    D语言兼容C语言,具有C 、C++、C#还有Java的全部特点,是我们期待的未来编程语言。操作Excel是经常需要的事情。所以学习是必要的。

    d语言的ide开发雏形1

    d语言的ide开发雏形1

    D 语言编程中文参考手册

    D 语言编程参考手册 包括1.0 和 2.0 两个中文手册

    d语言的ide开发雏形2

    d语言的ide开发雏形2

    学习D语言和Tango

    D语言,非常强大的语言,但是由于某些原因未流行起来,资料也比较少!

Global site tag (gtag.js) - Google Analytics