預編譯工具語法

2021-09-11 17:23:04 字數 2128 閱讀 3487

**if、else、elseif、end、then

2、邏輯運算子(優先順序從上到下,括號可改變優先順序):

not:當標籤未定義時表示式成立

and:當兩側的標籤都定義時,表示式成立

or:當兩側標籤有乙個定義時,表示式成立

注意,關鍵字無視大小寫。

標籤:命名:

建議以字串或者下劃線開頭,字母或者數字下劃線組成。不能使用關鍵字命名,(if、else、elseif、end、then、not、and、or)

狀態:標籤只有兩種狀態,定義或者沒定義。

1、舉例(c語言),and 使用說明:

定義的標籤:juzhu、taishou

/*if junzhu and taishou then*/ // 如果是君主並且是太守

printf("是君主或者是太守");

/*else*`

printf("不是太守也不是君主"); // 表示普通武將

/*end*/

junzhu(君主)、taishou(太守)都定義了,所以條件成立,第乙個注釋塊被開啟,else注釋被關閉,列印「主公曹操」。**

定義的標籤:taishou

/*if taishou or weiguo then*/

printf("是魏國的或者是太守");

/*else*`

printf("非魏國普通武將");

/*end*/

因為定義了taishou標籤,所以只要taishou或者weiguo乙個標籤定義則表示式成立,所以條件成立,列印「是魏國的或者是太守」。

定義了標籤:taishou

/*if not taishou then*`

printf("不是太守");

/*else*/

printf("是太守");

/*end*/

因為定義了taishou標籤,結果為真,not之後,結果為假,所以條件不成立,else注釋塊被開啟,列印「是太守」。

定義標籤:weiguo、junzhu

/*if weiguo and (junzhu or taishou) then*/

printf("魏國的君主或者太守");

/*else*`

printf("非魏國的君主或者太守");

/*end*/

如果去掉括號,那麼意思就變成了魏國的君主或者任意國家的太守。所以需要用括號提公升表示式優先順序。

定義標籤:wuguo、junzhu

/*if weiguo then*`

printf("魏國");

/*elseif wuguo then*/

/*if taishou then*`

printf("周瑜");

/*else*/

printf("孫權");

/*end*/

/*elseif shuguo then*/

/*if junzhu then*/

printf("蜀國");

/*elseif chengxiang then*/

printf("諸葛亮");

/*end*/

/*end*/

因為weiguo沒定義,第乙個條件表示式不成立,所以關閉,下乙個表示式中wuguo定義了,所以表示式被開啟,第三個表示式 taishou沒定義,關閉注釋塊,所以輸出「孫權」。

定義標籤:caocao

string name = /*if caocao then*/"曹操"/*else*/"孫權"/*end*/;

printf("%s\n", name.c_str());

因為定義了caocao,所以表示式成立,曹操被顯示。

lua:

local name = --[[if caocao then]]"曹操"--[[else]`"孫權"--[[end]];

print(name);

python:

name = '''if caocao then'''"曹操"'''else''`"孫權"'''end''';

print(name);

CSS預編譯工具(SASS,LESS)

sass和less都是專用於css的預編譯語言,他們2者的功能,操作都是大同小異。less稍微簡單一些,而sass有一些比較成熟的框架 如compass 功能強大一些,其中的語法也比較符合一門程式語言的習慣,比如說函式,作用域,程序控制等等。所以,我也是選擇的sass來使用。一 sass中文官網 使...

JS預編譯 函式預編譯和全域性預編譯

預編譯發生在函式執行前一步 建立ao物件 執行期上下文 找形參和變數宣告,將變數和形參名作為ao 屬性名,值為undefined 將實參值和形參統一 在函式體裡面找函式宣告,值賦予函式體 結果 預編譯過程 函式馬上要執行,但是還沒執行 首先建立ao物件,也就是函式它產生的儲存空間庫 ao,b und...

預編譯與編譯

一c c 源 從最初的文字變為可執行檔案主要進行三大步 預編譯階段 主要是編譯器執行 文字處理工作,並不會進行語法檢查 主要執行三大類預編譯命令 巨集定義 文字替換功能,將使用了巨集的地方採取巨集定義方式直接展開 條件編譯 文字剪下功能,根據設定的條件選擇性刪除一些 片段 包含檔案 文字插入功能 i...