Linux中國

我為什麼要用 D 語言寫腳本?

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;
}

這段代碼以 釋伴 開頭,它將使用 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、文本等)。它還帶有一套豐富的通用演算法,用於迭代、搜索、比較和 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中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國