《lua程式設計》讀書筆記 第一章 開始

2021-08-01 11:10:25 字數 1595 閱讀 4779

lua執行的每段**,都被稱為乙個「程式塊」, 乙個程式塊也就是一連串的語句和命令。

在lua的語法中,**中的換行不起任何作用。

程式塊可以是任意大小的,其可以只包含一條語句,也可以由多條不同的語句構成。幾兆位元組的程式塊是很常見的。

可以在互動模式下執行直譯器。當不使用任何引數直接執行直譯器時,便進入了互動模式。這種模式下,輸入的每條命令都會被立刻執行。要退出互動模式,只需輸入乙個end-of-file控制字元(unix中為ctrl+d,dos中為ctrl+z),或者使用函式os.exit()。

在互動模式中,直譯器通常會將每行內容作為乙個·完整的程式塊來解釋,如果它檢測到輸入的內容不足以構成乙個完整的程式塊,那麼它會等待輸入更多的內容。

若使用命令列引數-i來啟動lua直譯器,那麼直譯器會在執行完指定程式塊後進入互動模式,這對於除錯及測試尤其有用。

函式dofile,會立刻執行乙個檔案,如下有檔案lib1.lua:

function

norm

(x,y)

return (x^2 + y ^2)^0.5

endfunction

twice

(x) return

2*xend

那麼在互動模式下有

dofile("lib1.lua")

n = norm(3.4,1.0) //直接使用lib1.lua中的函式

print(twice(n)) -->7.0880180586677

lua中的識別符號可以是由任意字母、數字、下劃線構成的字串,但不能以數字開頭。

應該避免以乙個下劃線開頭並跟著乙個或多個大寫字母的識別符號,因為lua將這類識別符號保留用作特殊用途。通常保留識別符號「_」作為啞變數使用。

兩個連字元「–」開始乙個行注釋;以「–[[」開始直至『]]』結束,表示乙個塊注釋

全域性變數不需要宣告,只需將乙個值賦予乙個全域性變數就可以建立了。在lua中訪問乙個未初始化的全域性變數不會引發錯誤,訪問結果是乙個特殊的值nil。

如果要將乙個全域性變數刪除,只需要將其賦值為nil值。

直譯器時乙個小型的程式,可以使用它來直接使用lua。

如果**檔案的第一行以乙個「#」開頭,那麼在載入檔案時,直譯器將忽略這一行,這項特徵是為了方便在unix系統中將lua作為一種指令碼直譯器來使用,如下:

#:/user/local/bin/lua
直譯器的用法如下:

lua [選項引數] [指令碼[引數]]

選項引數如下:

1.-e 可以直接在命令列中輸入**

lua -e

"print(hello world)"

2.-l用於載入庫檔案

lua -l a

//載入庫檔案a

3.-i進入互動模式,在互動模式中,如果需要列印某個表示式的值,可以用等號開頭並跟隨乙個表示式

a=30

= a//互動模式下輸出a的值

《C Primer》讀書筆記 第一章 開始

宣告 學習一門程式語言最好的方法就是練習程式設計。1 乙個函式的定義包含四個部分 返回型別 return type 函式名 function name 乙個括號包圍的形參列表 parameter list,允許為空 以及函式體 function body 2 cin cout的使用 1 includ...

第一章讀書筆記

本章內容主要講的是android系統移植和驅動開發概述,通過本章的學習知道了學習linux驅動程式設計一定要了解linux驅動只與linux核心有關,與客戶的使用的linux系統無關。也就是說,不管是那個linux系統,只要使用了同樣的linux核心,驅動就可以通過。唯一可以判斷的linux核心是否...

第一章讀書筆記

android的系統架構分為4層 第一層 linux核心。第二層 c c 庫。第三層 android。第四層 應用程式。android移植可兩個部分 應用移植和系統移植。目前linux核心主要維護3個版本 linux2.4,linux2.6和linux3.x,大多數linux系統都使用了這3個版本的...