成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

開發 后端
D 語言由于其靜態類型和元編程能力,經常被宣傳為系統編程語言。然而,它也是一種非常高效的腳本語言。

[[381516]]

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中國
相關推薦

2016-01-12 16:58:31

C游戲

2020-04-07 16:12:56

Go編程語言開發

2011-10-14 09:20:48

Lisp

2009-01-09 23:06:41

服務器SCSI硬盤PC

2021-09-07 15:41:35

Bug誘因代碼

2012-07-11 11:05:16

編程

2018-06-15 21:26:13

PythonCrystal語言

2024-07-02 13:27:38

2021-12-13 01:40:29

ElasticSear倒排索引

2021-05-11 06:57:15

HBaseBATJ公司

2024-01-02 17:28:12

芯片CPUAI計算

2022-05-07 07:35:44

工具讀寫鎖Java

2012-11-13 10:27:45

PythonGo編程語言

2015-07-01 10:25:07

Docker開源項目容器

2023-09-22 10:05:32

2022-07-06 09:29:40

JMH性能測試

2013-12-30 09:31:34

Node.js技術

2024-06-19 10:26:36

非阻塞IO客戶端

2012-02-28 09:11:51

語言Lua

2020-07-17 14:06:36

Scrum敏捷團隊
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美在线一二三 | 久久久国产精品入口麻豆 | 国产小u女发育末成年 | 91pao对白在线播放 | 一区二区三区免费看 | 欧美日韩成人一区二区 | 亚洲免费影院 | 免费一区二区三区 | 日韩国产精品一区二区三区 | 欧美激情在线播放 | 欧美激情国产日韩精品一区18 | 亚洲国产精品久久久久 | 日韩国产精品一区二区三区 | 国产成人av在线播放 | 精品国产精品三级精品av网址 | 精品免费在线 | 成人免费福利视频 | 国产高清视频在线播放 | 久久久久一区二区 | 欧美在线a | a免费视频 | 91影库| 国产精品久久99 | 日本欧美黄色片 | 成人免费在线电影 | 亚洲一区精品在线 | 日日夜夜天天 | 久久ww| 欧美日本一区 | 日韩在线视频免费观看 | 色综合视频 | 中文字幕不卡在线观看 | 日韩欧美在线视频播放 | 日韩精品在线一区 | 亚洲国产成人精品久久 | 91久久久久久久久久久久久 | 欧美v免费 | 国产一区二区观看 | 台湾佬成人网 | 国产激情一区二区三区 | 欧美一区二区三区在线观看 |