为什么我使用 D 编程语言进行脚本编写

D 编程语言以系统编程语言而闻名,但它也是脚本编写的绝佳选择。
96 位读者喜欢这个。
Business woman on laptop sitting in front of window

图片来自 Mapbox Uncharted ERG, CC-BY 3.0 US

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。

接下来阅读什么
标签
User profile image.
Lawrence 是一名自由全栈工程师(React、Node.Js、D)和 100% Linux 用户。他热爱设计和编码。对 SaaS 和现代 Web 充满热情。

评论已关闭。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.