文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

我为什么要用 D 语言写脚本?

2024-12-03 11:08

关注

D 语言以系统编程语言而闻名,但它也是编写脚本的一个很好的选择。

D 语言由于其静态类型和元编程能力,经常被宣传为系统编程语言。然而,它也是一种非常高效的脚本语言。

由于 Python 在自动化任务和快速实现原型想法方面的灵活性,它通常被选为脚本语言。这使得 Python 对系统管理员、管理者和一般的开发人员非常有吸引力,因为它可以自动完成他们可能需要手动完成的重复性任务。

我们自然也可以期待任何其他的脚本编写语言具有 Python 的这些特性和能力。以下是我认为 D 是一个不错的选择的两个原因。

1、D 很容易读和写

作为一种类似于 C 的语言,D 应该是大多数程序员所熟悉的。任何使用 JavaScript、Java、PHP 或 Python 的人对 D 语言都很容易上手。

如果你还没有安装 D,请安装 D 编译器,这样你就可以运行本文中的 D 代码。你也可以使用在线 D 编辑器

下面是一个 D 代码的例子,它从一个名为 words.txt 的文件中读取单词,并在命令行中打印出来:

  1. open
  2. source
  3. is
  4. cool

用 D 语言写脚本:

  1. #!/usr/bin/env rdmd
  2. // file print_words.d
  3.  
  4. // import the D standard library
  5. import std;
  6.  
  7. void main(){
  8. // open the file
  9. File("./words.txt")
  10.  
  11. //iterate by line
  12. .byLine
  13.  
  14. // print each number
  15. .each!writeln;
  16. }

这段代码以 释伴 开头,它将使用 rdmd 来运行这段代码,rdmd 是 D 编译器自带的编译和运行代码的工具。假设你运行的是 Unix 或 Linux,在运行这个脚本之前,你必须使用chmod 命令使其可执行:

  1. chmod u+x print_words.d

现在脚本是可执行的,你可以运行它:

  1. ./print_words.d

这将在你的命令行中打印以下内容:

  1. open
  2. source
  3. is
  4. cool

恭喜你,你写了第一个 D 语言脚本。你可以看到 D 是如何让你按顺序链式调用函数,这让阅读代码的感觉很自然,类似于你在头脑中思考问题的方式。这个功能让 D 成为我最喜欢的编程语言

试着再写一个脚本:一个非营利组织的管理员有一个捐款的文本文件,每笔金额都是单独的一行。管理员想把前 10 笔捐款相加,然后打印出金额:

  1. #!/usr/bin/env rdmd
  2. // file sum_donations.d
  3.  
  4. import std;
  5.  
  6. void main()
  7. {
  8. double total = 0;
  9.  
  10. // open the file
  11. File("monies.txt")
  12.  
  13. // iterate by line
  14. .byLine
  15.  
  16. // pick first 10 lines
  17. .take(10)
  18.  
  19. // remove new line characters (\n)
  20. .map!(strip)
  21.  
  22. // convert each to double
  23. .map!(to!double)
  24.  
  25. // add element to total
  26. .tee!((x) { total += x; })
  27.  
  28. // print each number
  29. .each!writeln;
  30.  
  31. // print total
  32. writeln("total: ", total);
  33. }

与 each 一起使用的 ! 操作符是模板参数的语法。

2、D 是快速原型设计的好帮手

D 是灵活的,它可以快速地将代码敲打在一起,并使其发挥作用。它的标准库中包含了丰富的实用函数,用于执行常见的任务,如操作数据(JSON、CSV、文本等)。它还带有一套丰富的通用算法,用于迭代、搜索、比较和 mutate 数据。这些巧妙的算法通过定义通用的 基于范围的接口 而按照序列进行处理。

上面的脚本显示了 D 中的链式调用函数如何提供顺序处理和操作数据的要领。D 的另一个吸引人的地方是它不断增长的用于执行普通任务的第三方包的生态系统。一个例子是,使用 Vibe.d web 框架构建一个简单的 web 服务器很容易。下面是一个例子:

  1. #!/usr/bin/env dub
  2. /+ dub.sdl:
  3. dependency "vibe-d" version="~>0.8.0"
  4. +/
  5. void main()
  6. {
  7. import vibe.d;
  8. listenHTTP(":8080", (req, res) {
  9. res.writeBody("Hello, World: " ~ req.path);
  10. });
  11. runApplication();
  12. }

它使用官方的 D 软件包管理器 Dub,从 D 软件包仓库中获取 vibe.d Web 框架。Dub 负责下载 Vibe.d 包,然后在本地主机 8080 端口上编译并启动一个 web 服务器。

尝试一下 D 语言

这些只是你可能想用 D 来写脚本的几个原因。

D 是一种非常适合开发的语言。你可以很容易从 D 下载页面安装,因此下载编译器,看看例子,并亲自体验 D 语言。 

 

来源:Linux中国内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯