Lua初識之函式 十

2021-06-27 21:32:45 字數 1667 閱讀 6649



lua初識之函式

---------------------------------

a = -- 表 a ,將列印函式 print 賦值給 p

a.p("hello world") -- 呼叫 a.p 函式既 print函式

--------------------------------------

b = -- 表 b ,引數 pp 賦值為 5

print(b.pp) -- 呼叫 pp 的值

-------------------------

m =

print(m.num)

print(m.numm)

print(m.nummm)

------------------------

function fact(n) -- 定義函式 fact

return n * 2

endnum = io.read("*number") --輸入數字 num ,io.read("*number")讀取乙個數字 「*number」說明讀入的是數字

print(fact(num))

-------------------------------

function mark()

io.write("\27name")

endmark() --> <-name

---------------------------------

function mark(x, y)

io.write(string.format("[%d; %d]", y, x))

endmark( 2, 8) --> [ 8; 2]

-----------------------------

----------------函式可以返回多個值

function ff(m , n)

return m * 2, n * 3

endprint(ff(3, 4)) -- 6, 12

s1, s2 = ff( 2, 5)

print(s1) -- 4,

print(s2) -- 15

---------------------

do local s, e = string.find("hello lua users", "lua")

print(s, e) -->返回 第二個字串和第乙個匹配的開始和結束下標

enddo

local _, e = string.find("hello lua users", "lua")

print(e) -- 下劃線為虛變數

end-----------------------

function select(n, ...)

return arg[n] -- arg[n] 為lua中的可變引數型別,返回結果中的第 n 個引數

endprint(select(1, string.find("hello lua users", "lua"))) -- 7 -- 取得第乙個引數

print(select(2, string.find("hello lua users", "lua"))) -- 9 --取得第二個引數

---------------------------

Lua初識之非全域性函式 十二

lua初識之非全域性函式 注意 在lua中呼叫乙個函式要在呼叫之前定義,否則出錯 表和函式放在一起 lib lib.foo function x,y return x y endlib.goo function x,y return x y endprint lib.foo 3,5 8 print ...

Lua初識之值型別 四

lua 是動態型別語言,變數不需要型別定義 8中型別如下 userdata print type hello world string print type 10 number print type print function print type type type string print t...

Lua (十)函式尾呼叫

概念 在乙個函式a中使用return返回另乙個函式b b函式呼叫是a函式的最後乙個動作 尾呼叫不占用 堆疊 空間,不會出現 棧溢位 可以起到優化儲存空間的作用。function fa return math.abs 1 endfunction fb return fa endprint fb 1fu...