C#與Lua語言學習對比一
Lua的語法基礎
Lua語言 作為一種程式語言,與C#有很大的差異。所以在使用之前,先透過對比的形式來明確Lua語言有哪些特點。
語言特性
首先,Lua語言和C#在語言特性上就有明顯的不同:
語言型別 :Lua是解析型語言,這種程式碼再執行時會按照從上到下的順序依次執行。而C#是編譯型語言,編寫完成後會生成特殊檔案,然後按照呼叫關係去呼叫函式;
資料型別:Lua是弱型別語言,變數宣告時無需指定資料型別。C#是強型別語言,定義資料必須指定資料型別 ;
書寫格式
函式關係:Lua中的函式沒有明確的歸屬類,獨立存在。C#中的函式都屬於類。
結尾不同:C#程式碼每行必須以; 結尾,Lua程式碼可以以;結尾,也可以沒有結尾處的標點符號。
變數書寫格式:C#宣告變數時格式為 資料型別 識別符號 = 值;Lua語言沒有資料型別的指定。
Lua的基本資料型別
數值型別:Lua的數值型別,只有number,C#有int,float,double;
布林型別:C#為bool,而Lua為boolean;
字串型別:Lua的字串和C#的字串型別都為string,並且跳脫字元也基本相同。但Lua的字串可以被" “或’ ‘或[[ ]]包裹,’ '和” "包含的字串基本一樣(因’ ’ 包含內容也為字串,所以Lua沒有char型別),而被[[ ]]包裹的字串相當於在C#的字串前加@,從而原格式輸出。
Lua的運算子
相加:C#中加號表示2數或2字串相加,但在Lua中用"…"(2個點)。
複合運算子:Lua中不支援複合運算子和++、- -2個特殊運算子。
形式不同的運算子:Lua中不等於為~=,C#為!=。Lua中的邏輯運算子and,or,not,C#中為&&,||,!。
Lua中的分支結構
Lua中的分支結構中沒有{},使用then…end…代替。毎有一個if(布林表示式)後面都會跟著一個then,在程式碼塊寫完後,換行接end結尾。而且,Lua中沒有switch…case…語句。
Lua中的迴圈結構
Lua中的迴圈結構也沒有{},使用do…end…代替。
Lua的for迴圈書寫格式為for 初值表示式,終值表示式(包含等於),迭代表示式。
Lua中沒有do…while()…迴圈語句,但有與其相似的迴圈語句,為repeat…until()…語句,與do…while()…不同,當條件表示式為真時,結束迴圈,否則一直迴圈。Lua中跳出迴圈關鍵字沒有continue,只有break。
Lua的函式結構
C#中的函式返回值的地方有function代替,結尾處依舊使用end結尾。同樣,在Lua的函式結構中沒有{}存在。
因Lua為解析性語言,執行順序從上到下。所以Lua中的函式呼叫必須寫在函式的宣告之後。而且函式是否有返回值,取決於是否包含return。
Lua中沒有委託的概念,函式可以直接作為引數傳遞。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69979119/viewspace-2705241/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- lua學習: lua及函數語言程式設計語言函數程式設計
- Lua遊戲開發(三)---Lua語言學習(上)遊戲開發
- 熱更新語言--lua學習筆記筆記
- Lua遊戲開發(一)---Lua語言遊戲開發
- 多對多多語言神經機器翻譯的對比學習
- 學習一門語言
- redis學習(八) Lua語法Redis
- C#和TS/JS的對比學習02:函式與方法C#JS函式
- 語言對比的地方
- 0、Lua語言理解
- Lua學習筆記(一)筆記
- C#學習筆記(與Java、C、C++和Python對比)C#筆記JavaC++Python
- 機器學習對於語言類比的理解與識別機器學習
- Redis基礎知識(學習筆記21--Lua 指令碼語言)Redis筆記指令碼
- 對學習程式語言的的小感想
- 與MSSQL對比學習MYSQL的心得MySql
- 如何學習一門程式語言
- Go語言核心36講(Go語言實戰與應用一)--學習筆記Go筆記
- C語言學習方法,怎麼學習C語言?C語言
- OSPF路由 與 ISIS路由 與路由學習對比路由
- Redis基礎知識(學習筆記21--Lua 指令碼語言2)Redis筆記指令碼
- 《JavaScript語言精粹》學習筆記一JavaScript筆記
- R語言學習筆記之一R語言筆記
- 怎樣學習一門程式語言
- 如何學習一門新的語言
- C語言學習之:指標與字串C語言指標字串
- java語言學習Java
- go語言學習Go
- 語言學與面對物件的設計 (轉)物件
- Python和Java、PHP、C、C#、C++等其他語言的對比?PythonJavaPHPC#C++
- 透過例子學習Lua(5)--Lua與C的互動(轉)
- 主流程式語言的優勢與劣勢對比
- Pinterest與FB消費能力對比:圖片勝於語言REST
- 各大程式語言優缺點對比
- Go vs Java vs C# 語法對比GoJavaC#
- 幽默:程式語言與遊戲比較遊戲
- 【Go語言學習】匿名函式與閉包Go函式
- Go語言學習之路-11-方法與介面Go