在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ C++/ 契約式編程
類的訪問修飾符
D語言運算符
D語言邏輯運算符
類指針
D語言元組
D語言指針
D語言模塊
D語言sizeof運算符
D語言混合類型
D語言封裝
D語言條件編譯
類的靜態(tài)成員
D語言do...while循環(huán)
D語言結(jié)構(gòu)體
重載
D語言字符串-String
D語言決策語句
D語言接口
D語言for循環(huán)
D語言switch語句
D語言關(guān)聯(lián)數(shù)組
D語言范圍
D語言枚舉Enums
契約式編程
D語言并發(fā)
D語言開發(fā)環(huán)境設(shè)置
D語言別名
D語言常值
D語言常量
D語言函數(shù)
D語言if嵌套語句
D語言循環(huán)
D語言概述,D語言是什么?
D語言運算符優(yōu)先級
D語言continue語句
D語言異常處理
D語言break語句
D語言if...else語句
D語言類和對象
類繼承
D語言字符
D語言教程
D語言關(guān)系運算符
比較操作符重載
構(gòu)造函數(shù)和析構(gòu)函數(shù)
D語言抽象類
D語言if語句
D語言賦值運算符
D中算術(shù)運算符
D語言類成員函數(shù)
D語言位運算符
D語言變量
D語言數(shù)據(jù)類型
D語言文件I/O
D語言數(shù)組
一元運算符重載
D語言嵌套switch語句
D語言基本語法
二元運算符重載
this指針
D語言聯(lián)合體
D語言模板
D語言嵌套循環(huán)
D語言while循環(huán)

契約式編程

在D編程中的契約編程是專注于提供錯誤處理一個簡單易懂的手段。在D編程契約編程是由三種類型的代碼塊來實現(xiàn):

  • body 塊

  • in 塊

  • out 塊

body 塊

Body塊包含執(zhí)行的實際功能代碼。 IN和OUT塊是可選的而身體塊是強制性的。一個簡單的語法如下所示。

return_type function_name(function_params)
in
{
   // in block
}
out (result)
{
   // in block
}
body
{
   // actual function block
}

塊中預(yù)條件

塊是用于簡單的預(yù)條件驗證輸入?yún)?shù)是否是可以接受的,并在可以由代碼處理范圍。在塊中的好處是,所有的進入條件可以保持在一起,并獨立于該函數(shù)的實際主體。一個簡單的先決條件用于驗證密碼,它的最小長度如下所示。

import std.stdio;
import std.string;

bool isValid(string password)
in
{
   assert(password.length>=5);
}
body
{
   // other conditions
   return true;
}

void main()
{
   writeln(isValid("password"));
}

當(dāng)上面的代碼被編譯并執(zhí)行,它在讀取上一節(jié)中創(chuàng)建的文件,并產(chǎn)生以下結(jié)果:

true

外部塊后置條件

該列塊從函數(shù)返回值。它驗證返回值是在預(yù)期范圍。顯示包含在國內(nèi)外享有一個簡單的例子如下,轉(zhuǎn)換個月,一年一個組合的十進制年齡的形式。

import std.stdio;
import std.string;

double getAge(double months,double years)
in
{
   assert(months >= 0);
   assert(months <= 12);
}
out (result)
{
   assert(result>=years);
}
body
{
   return years + months/12;
}

void main ()
{
   writeln(getAge(10,12));
}

當(dāng)上面的代碼被編譯并執(zhí)行,它在讀取上一節(jié)中創(chuàng)建的文件,并產(chǎn)生以下結(jié)果:

12.8333