这篇文章主要讲解了“用D语言写脚本的原因有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“用D语言写脚本的原因有哪些”吧!
作为一种类似于 C 的语言,D 应该是大多数程序员所熟悉的。任何使用 JavaScript、Java、PHP 或 Python 的人对 D 语言都很容易上手。
如果你还没有安装 D,请安装 D 编译器,这样你就可以运行本文中的 D 代码。你也可以使用在线 D 编辑器。
下面是一个 D 代码的例子,它从一个名为 words.txt
的文件中读取单词,并在命令行中打印出来:
opensourceiscool
用 D 语言写脚本:
#!/usr/bin/env rdmd// file print_words.d // import the D standard libraryimport std; void main(){ // open the file File("./words.txt") //iterate by line .byLine // print each number .each!writeln;}
这段代码以 释伴 开头,它将使用 rdmd 来运行这段代码,rdmd
是 D 编译器自带的编译和运行代码的工具。假设你运行的是 Unix 或 Linux,在运行这个脚本之前,你必须使用chmod
命令使其可执行:
chmod u+x print_words.d
现在脚本是可执行的,你可以运行它:
./print_words.d
这将在你的命令行中打印以下内容:
opensourceiscool
恭喜你,你写了第一个 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
一起使用的 !
操作符是模板参数的语法。
D 是灵活的,它可以快速地将代码敲打在一起,并使其发挥作用。它的标准库中包含了丰富的实用函数,用于执行常见的任务,如操作数据(JSON、CSV、文本等)。它还带有一套丰富的通用算法,用于迭代、搜索、比较和 mutate 数据。这些巧妙的算法通过定义通用的 基于范围的接口 而按照序列进行处理。
上面的脚本显示了 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 包,然后在本地主机 8080 端口上编译并启动一个 web 服务器
感谢各位的阅读,以上就是“用D语言写脚本的原因有哪些”的内容了,经过本文的学习后,相信大家对用D语言写脚本的原因有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。