D 编程语言通常被宣传为系统编程语言,因为它具有静态类型和元编程功能。但是,它也是一种非常高效的脚本语言。
Python 通常被选择用于脚本编写,因为它在自动化任务和快速原型设计方面具有灵活性。 这使得 Python 非常吸引系统管理员、经理和开发人员,用于自动化他们可能不得不手动执行的重复性任务。
期望任何其他脚本编写语言都具有这些 Python 特性和功能是合理的。以下是我认为 D 是一个不错的选择的两个原因。
1. D 易于阅读和编写
作为一种类似 C 的语言,D 对于大多数程序员来说应该很熟悉。任何使用 JavaScript、Java、PHP 或 Python 的人都知道如何使用 D。
如果您尚未安装 D,请安装 D 编译器,以便您可以运行 D 代码 在本文中。您也可以使用在线 D 编辑器。
这是一个 D 代码示例,它从名为 words.txt
的文件中读取单词并在命令行上打印它们
open
source
is
cool
用 D 编写脚本
#!/usr/bin/env rdmd
// file print_words.d
// import the D standard library
import std;
void main(){
// open the file
File("./words.txt")
//iterate by line
.byLine
// print each number
.each!writeln;
}
此代码以 shebang 为前缀,它将使用 rdmd 运行代码,rdmd 是 D 编译器附带的用于编译和运行代码的工具。假设您正在运行 Unix 或 Linux,在运行此脚本之前,您必须使用 chmod
命令使其可执行
chmod u+x print_words.d
现在脚本是可执行的,您可以运行它
./print_words.d
这应该在您的命令行上打印以下内容
open
source
is
cool
恭喜!您已经编写了您的第一个 D 脚本。您可以看到 D 如何使您能够按顺序链接函数,使代码的阅读感觉自然,类似于您在头脑中思考问题的方式。这个功能使 D 成为我最喜欢的编程语言。
尝试编写另一个脚本:一个非营利组织经理有一个捐款文本文件,每行都有捐款金额。经理想要将前 10 笔捐款加起来并打印金额
#!/usr/bin/env rdmd
// file sum_donations.d
import std;
void main()
{
double total = 0;
// open the file
File("monies.txt")
// iterate by line
.byLine
// pick first 10 lines
.take(10)
// remove new line characters (\n)
.map!(strip)
// convert each to double
.map!(to!double)
// add element to total
.tee!((x) { total += x; })
// print each number
.each!writeln;
// print total
writeln("total: ", total);
}
与 each
一起使用的 !
运算符是模板参数的语法。
2. D 非常适合快速原型设计
D 非常灵活,可以非常快速地将代码拼凑在一起并使其工作。它的标准库包含丰富的实用程序函数,用于执行常见任务,例如操作数据(JSON、CSV、文本等)。它还附带一套丰富的通用算法,用于迭代、搜索、比较和变异数据。这些巧妙设计的算法面向通过定义通用基于范围的接口来处理序列。
上面的脚本显示了 D 中链接函数如何提供顺序处理和操作数据的要点。D 的另一个吸引力在于其不断增长的第三方软件包生态系统,用于执行常见任务。一个例子是使用 Vibe.d Web 框架构建简单 Web 服务器是多么容易。这是一个例子
#!/usr/bin/env dub
/+ dub.sdl:
dependency "vibe-d" version="~>0.8.0"
+/
void main()
{
import vibe.d;
listenHTTP(":8080", (req, res) {
res.writeBody("Hello, World: " ~ req.path);
});
runApplication();
}
这使用了官方 D 包管理器 Dub,从 D 包存储库中获取 vibe.d Web 框架。Dub 负责下载 Vibe.d 包,然后在 localhost 端口 8080 上编译并启动 Web 服务器。
试用 D
这些只是您可能想要使用 D 编写脚本的几个原因。
D 是一种非常适合开发的语言。从 D 下载页面安装它很容易,所以下载编译器,看看示例,并亲自体验 D。
评论已关闭。