**:
-i選項要求lua執行指定chunk後進入互動模式
dofile函式, 連線外部chunk
-l: 載入乙個檔案
-i: 進入互動模式
_prompt 設定乙個標量作為互動模式的提示符
lua -i -e "_prompt=' lua> '"lua_init環境變數: @filename 表示載入指定檔案. 如無@, 則假定filename為lua**檔案並且執行它
指令碼名索引為0, 引數從1開始增加.
lua -e "sin=math.sin" script a barg[-3] = "lua"
arg[-2] = "-e"
arg[-1] = "sin=math.sin"
arg[0] = "script"
arg[1] = "a"
arg[2] = "b"
nil只能和自己相等
通過引用比較tables, userdata, functions, 即僅當兩者表示同乙個物件時相等
比較字串按字母順序比較
元素可以為表示式
初始化乙個表為record
a = <--> a={}; a.x=0; a.y=0不管何種方式建立table, 我們都可以向表中新增或者刪除任何型別的域, 建構函式僅僅影響表的初始化
給元素賦值nil可以移除該元素
每次呼叫建構函式, lua都會建立乙個新的table, 可以使用table構造乙個list
在同乙個建構函式中可以混合列表風格和record風格進行初始化
函式返回值
第二, 范型for迴圈
for i, v in ipairs(a) do print(v) end
另外, 函式呼叫表示式作為函式引數被呼叫的時候, 和多值賦值是相同的
print(foo2()) --> a b函式呼叫表示式在表建構函式中初始化時, 和多值賦值時相同print(foo2(), 1) --> a 1
print(foo2().."x") --> ax
a = -- a =return f()表示返回"f()的返回值", 使用圓括號強制返回乙個值a = -- a =
print(foo2()) --> a b乙個return語句如果使用圓括號將返回值括起來也將導致返回乙個值print((foo2())) --> a
函式多值返回的特殊函式unpack, 接受乙個陣列作為輸入引數, 返回陣列的所有元素
使用非遞迴區域性函式是要先定義而後使用
for in doend
如我們的迭代函式是f, 狀態常量是s, 控制變數的初始值為a0, 則迴圈: a1 = f(s, a0), a2 = f(s, a1), ... 知道 ai = nil
function allwords (f)for l in io.lines() do
for w in string.gfind(l, "%w+") do
f(w)
endend
end
require的路徑是乙個模式列表, 例如: ?;?.lua;c:\windows\?;/user/local/lua/?/?.lua
路徑模式可以不包含問號, 而只是乙個固定的路勁: ?;?.lua;/usr/local/default.lua
_requiredname儲存被required的虛檔案的名稱
第八章(筆記)
能在 中進行記憶體單元的定址的暫存器只有4個,分別是bx si di bp 其中bx bp 是基址,bx對應的段位址是ds,bp對應的段位址是ss si di 是變址,單獨使用時段位址是ds,組合使用段位址是跟隨組合的基址對應的段位址 中進行記憶體單元定址彙總 si di bx bp 常量 si 常...
第八章 指標 第八章 指標
1 什麼是位址 include using namespace std int main 11 在堆中建立對像 我們既然可以在堆中儲存變數,那麼也就可以儲存對像,我們可以將對像儲存堆中,然後通過指標來訪問它 include using namespace std class human 14 在建構...
c primer Plus第八章筆記
該書應從8章之後開始學習 現在開始第8章 p199 字元輸入輸出 緩衝區 是乙個存放內容的臨時儲存區域 為什麼要設定緩衝區 一 將若干個字元作為乙個塊進行傳輸比逐個傳送這些字元耗時少。二 如果輸入了乙個錯的字元,可以用鍵盤的更正功能進行修改。當按下回車鍵的時候就傳送輸入的字元。但是,互動性的程式需要...