Lua學習 迴圈 函式 表等簡單用法

2021-06-14 10:59:40 字數 3292 閱讀 9389

--[[

內容:lua程式練習1

--]]

-- 這是注釋,函式轉換寫法

local cclog = function(...)

print(string.format(...))

end-- 這裡是函式宣告

function counting()

-- for迴圈寫法 等同於for index = 1, 5000,1 do

for index = 1, 5000 do

print(index, "+", index + 1, "=",index+(index+1))

endendfunction reversecounting()

-- for迴圈寫法 從5000到1,步長為2遞減

for index = 5000, 1, -2 do

print(index, "+", index + 1, "=",index+(index+1))

endendfunction iffunction()

-- if使用方法

myval = 0

if (myval < 10) and (myval > 0) then

print("test if")

elseif myval < 1000 then

print("test elseif")

endendfunction whilerepeatfunction()

-- while、repeat使用方法

myval = 0

while myval < 10 do

-- lua中無++寫法

myval = myval + 1

print("test while:",myval)

end-- 同do while();

repeat

print("test repeat:",myval)

myval = myval - 1

until myval < 0

end-- 函式用法

function valuafunction(myname,myage)

print("我的名字:", myname)

print("我的年齡:", myage)

end-- (...)引數使用

function valuafunction(...)

if(arg.n > 0) then

for index = 1, arg.n do

local mystring = string.format("%s%d","argument",index,"")

print(mystring,arg[index])

endelse

print("沒有引數傳遞過來")

--local val3 = val1*val2*arg[1]

--mystring = string.format("%d%s%d%s%d%s%d",val1,"*",val2,"*",arg[1],"=",val3)

endend-- (...)引數使用

function multiplyfunction(val1,val2, ...)

local mystring

if(arg.n == 0) then

mystring = string.format("%d%s%d%s%d",val1,"*",val2,"=",val1*val2)

else

local val3 = val1*val2*arg[1]

mystring = string.format("%d%s%d%s%d%s%d",val1,"*",val2,"*",arg[1],"=",val3)

endprint(mystring)

end-- 返回值測試

function returnfunction1()

-- 「..」

local mystring = "2013" .. "}"

-- 多返回值測試

return mystring, 18

endfunction returnfunction()

local mystring = "你妹返回值測試啊"

-- 多返回值測試(函式作為返回值呼叫方法)

return mystring, 18, returnfunction1()--,multiplyfunction(1,1,1)

endfunction returnrandomfunction()

local mystring = "隨機數生成測試:"

-- 多返回值測試(函式作為返回值呼叫方法)

r1 = math.random(1.0,9.0)

r2 = math.random(1.0,9.0)

r3 = math.random(1.0,9.0)

r4 = math.randomseed(os.time())

return r1,r2,r3,r4

end-- 這裡是函式呼叫

-- 測試log

cclog("test")

-- counting()

-- reversecounting()

-- iffunction()

-- whilerepeatfunction()

-- valuafunction("你妹", 18)

-- valuafunction(1,2,2,2,2,2,2,2)

-- valuafunction()

-- multiplyfunction(1,2,3)

-- returnfunction()

-- print(returnfunction())

mystring = "math.max(7,8,9,10)"

assert(loadstring(mystring))()

print((loadstring(mystring)))

print(returnrandomfunction())

-- 承接返回值

a,b,c,d = returnrandomfunction()

print(a,b,c,d)

mytable =

-- 陣列下標從1開始[1,5]

print("mytable長度為:",#mytable)

for i = 1, #mytable do

print(mytable[i])

endprint(mytable[0])

print(mytable)

a = math.randomseed(os.time())

print(a)

Oracle instr函式簡單用法

oracle中instr的用法 instr方法的格式為 instr 源字串,要查詢的字串,從第幾個字元開始,要找到第幾個匹配的序號 返回找到的位置,如果找不到則返回0.例如 instr corporate floor or 3,2 中,源字串為 corporate floor 在字串中查詢 or 從...

signal函式的簡單用法

void signal int sig,void func int int 指定使用sig指定的訊號編號處理訊號的方法。signal函式的返回值是函式指標。比如說,void myfunc 我們說myfunc函式的返回值型別是 void 同樣,函式指標的形式舉例 void int 邊上的空白處可以填寫...

C 建構函式簡單用法

1.1 基本概念 1.2 注意 1.3 建構函式的意義 建構函式執行必要的初始化工作,有了建構函式就不必再寫初始化函式,也不用擔心物件沒有初始化。1.4 例項 include includeusing namespace std class myclass void print int main 1...