我为什么要用 D 语言写脚本?
D 语言由于其静态类型和元编程能力,经常被宣传为系统编程语言。然而,它也是一种非常高效的脚本语言。
由于 Python 在自动化任务和快速实现原型想法方面的灵活性,它通常被选为脚本语言。这使得 Python 对系统管理员、管理者和一般的开发人员非常有吸引力,因为它可以自动完成他们可能需要手动完成的重复性任务。
我们自然也可以期待任何其他的脚本编写语言具有 Python 的这些特性和能力。以下是我认为 D 是一个不错的选择的两个原因。
1、D 很容易读和写作为一种类似于 C 的语言,D 应该是大多数程序员所熟悉的。任何使用 JavaScript、Java、PHP 或 Python 的人对 D 语言都很容易上手。
如果你还没有安装 D,请安装 D 编译器,这样你就可以运行本文中的 D 代码。你也可以使用在线 D 编辑器。
下面是一个 D 代码的例子,它从一个名为 words.txt 的文件中读取单词,并在命令行中打印出来:
open source
用 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;
这段代码以 释伴 开头,它将使用 rdmd 来运行这段代码,rdmd 是 D 编译器自带的编译和运行代码的工具。假设你运行的是 Unix 或 Linux,在运行这个脚本之前,你必须使用chmod 命令使其可执行:
chmod u+x print_words.d
现在脚本是可执行的,你可以运行它:
./print_words.d
这将在你的命令行中打印以下内容:
open source
恭喜你,你写了第一个 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、文本等)。它还带有一套丰富的通用算法,用于迭代、搜索、比较和 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 来写脚本的几个原因。
D 是一种非常适合开发的语言。你可以很容易从 D 下载页面安装,因此下载编译器,看看例子,并亲自体验 D 语言。
via: https://opensource.com/article/21/1/d-scripting
作者:Lawrence Aberba 选题:lujun9972 译者:geekpi 校对:wxy
本文由 LCTT 原创编译,Linux中国 荣誉推出
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/50034.html
javalinuxphppython程序员相关文章
- c语言long类型转换成string,如何在C ++中将long转换为string?「建议收藏」
- 按键精灵q语言基础教学怎么看不了_按键精灵脚本是用什么语言写
- C语言:大数取余_c语言15和50取余等于多少
- R语言中管道操作符 %>%, %T>%, %$% 和 %<>%
- 51单片机试题及答案c语言版_只会c语言毕业设计能做什么
- 14. Groovy 语言结构-脚本和类知识学习
- 国产ETL etl-engine 可视化 轻量级 跨平台 支持动态解析GO语言脚本
- 2-R语言数据结构
- Go 语言面向对象编程特性的实现
- 【C 语言】文件操作 ( fread 函数 )
- 【Android Gradle 插件】Gradle 构建工具简介 ③ ( Gradle 构建脚本编程语言 | Groovy 语言简介 | Groovy 语言特性 )
- 一个python写的去c语言注释的小脚本详解编程语言
- 构建跨语言应用程序基于Redis的解决方案(基于redis跨语言调用)
- javascript语言结构小记(一)
- 浅析如何在c语言中调用Linux脚本