lua指令碼中,多點找色的函式怎麼寫

2021-03-03 21:34:27 字數 1458 閱讀 3053

1樓:匿名使用者

function filtercolor(src, rgb)if type(src) ~= "table" or not rgb then

return

endlocal ret = {}

for i, v in ipairs(src) doif v.color == rgb thenret[#ret+1] = v

endendreturn retend

怎樣在lua指令碼中呼叫另乙個lua指令碼中的函式呢???

2樓:匿名使用者

require「函式指令碼檔案名字」

下面可以直接呼叫,也可以使用pcall方法安全呼叫

3樓:匿名使用者

除了樓上的回答,還可以這樣,dofile("b.lua") 然後就可以在a.lua指令碼中呼叫b.lua中的函式了。

4樓:匿名使用者

a.lua中require("b.lua"),即可呼叫b.lua中函式。

lua指令碼的幾個疑問

5樓:匿名使用者

關於dostring中的區域性變數 這裡剛好是有個特殊情況的

我用的luaforwindows直接執行的 沒dostring 就先用loadstring了

local a = 1

print(loadstring("a = 123")())

print(a,_g.a)

這裡a = 123執行時 不會給區域性變數a進行賦值操作,而是修改了全域性變數a

對於到底是區域性變數還是全域性變數的判斷 依據的是 使用這個變數的這個區域 在使用之前 是否有過區域性變數的宣告

比如a = 1

print(a)

local a = 2

print(a,_g.a)

這樣就能看到2個不同的a

而在function msg(x,y)中

是因為x和y是被當作實參傳過來的 函式裡的實參 在函式內部都是作為區域性變數來使用 所以xy是區域性而a是全域性

6樓:匿名使用者

a = dostring.....

dostring最後乙個返回值,就是準備給a的。

c++繫結函式返回時,它只能且必須返回乙個值,這個值通知lua,我返回了幾個值在堆疊裡。你不返回這個值的話,難道讓lua去猜你會返回幾個值?你這裡設了返回值個數後,lua才會給你分配保留適當的空間,不然你返回後,之前放的返回值就丟了。

dofile和dostring一樣,會先獲取原始檔或字串內容,然後編譯,再逐條執行**。

你說的多執行緒,我不明白你的意思,就不說了。

最後那個x和y當然是臨時的,而那個a,是全域性的了。

lua5.2和之前的版本不一樣了,「全域性」不是真正的全域性,而是當前環境的全域性,仔細去看看lua5.2的官方文件。

shell指令碼裡的函式怎麼呼叫

shell中的函式,要在定義這個函式的指令碼中進行呼叫!bin sh echo line echo hello 在這裡呼叫 將全部 寫入test.sh就可以了echo call echo hello echo hello echo call echo line echo line 在命令列下執行 t...

proteus中的找這個元件怎麼找

給你看看這個圖符,應該知道說的是什麼吧 這個與你想找的是不是一樣呀 這個元器件在proteus中怎麼找?這個元器件在proteus中是個按鍵,可以直接找button就行了,放置後可以雙擊,輸入按鍵的名稱。這個元件在proteus中怎麼找 這是可調電阻,也叫電位器,在 proteus 中有兩種,一種是...

ecel的if函式中條件區域怎麼輸

萬年金剛鑽 怎麼輸?根據需求,也就是判斷的依據可以是下面的任何一種或組合 a1 1 b2 3 c4 錯 sum a1 b3 5 等等等等 舍火烈風 可以直接輸入a1 f19這樣的區域,也可以用滑鼠進行選擇 應用達人 一,if函式的公式是 if 邏輯表示式,如果結果為真時的表示式,如果結果為假時的表示...