函式式程式設計lua能算嗎

2021-03-04 06:20:48 字數 2760 閱讀 2592

1樓:永恆

lua語言是一種類pascal的語言,它不是函式式的程式設計。

函式式程式設計是整個程式是由若干個函式組成,如c、c++等。

我們自編lua程式中可以沒有乙個我們自定義的函式,整個主程式也不能是函式。

還請教一下,在lua語言中如何計算加減法運算? 5

2樓:匿名使用者

例子:include

int main()

;printf("%s\n",a+7);

return 0;

}lua語言中

#include

int main()

;printf("%s\n",a+7); // a+7相當於&a[7],也就是從a的首位址偏移7個位置,結果是:98

return 0;}

3樓:匿名使用者

lua 作為乙個 解釋型指令碼 語言 可以非常容易的 動態執行一些**(也就是根據動態獲取的字串作為**去編譯)。

這樣,很容易寫出 乙個 簡單的輸入型計算器。

local function main ()

io.write("please input a numeric expression: ")

local msg =  io.read()

f = loadstring("return "..msg)

print( f() );

endmain()

--[[

input: 1 - 1/3 + 1/5 - 1/7

print: 0.72380952380952

input: "abc".."xyz"

print: abcxyz

input: os.time()

print: 1375383363

input: "hack"..os.execute("echo it's very dangerous.").."code"

print: abcxyz

--]]

但是,如果沒有實現系統函式的許可權和安全性控制的封裝,直接把程式暴漏給使用者,也許這種靈活性 會帶來一些無法挽回的損失

lua中「=」與「==」的區別?(),[ ],{ }的區別

4樓:匿名使用者

1. "=" 是賦值操作,"==" 是判斷兩個值相等關係的操作符號。所以x = 2 是表示把「2「這個值賦給x;x == 2是判斷x 和 「2」 是否相等。

2. 這三個符號的含義不用這麼分吧。()是用在函式的定義和使用中的,比如print("hello"),當然還有一般數學意義上的改變運算優先順序; {} 是用來定義table的,例如 t = ; 是用來索引table元素的,例如 t[1] = 'a' 你還是多看文件學習一下吧,這樣就有感覺了。

另外lua網上的資料比較少,入門可能不是很方便。

lua語言 select()函式疑問

5樓:匿名使用者

先看一下select的使用案例 假設呼叫函式select(5,1,2,3,4,5,6,7,8)

理論上是返回5之後的所有 也就是5,6,7,8但是為什麼你的函式只返回了乙個值呢

首先你要從你的賦值語句開始看

你的輸出語句是print(i,arg) 只輸出了2個引數 i和argi是迴圈變數 從1~4遞增 這個輸出是沒問題了 問題在於arglocal arg=select(i,...)這一句 相當於

local arg = 111,222,333,444local arg = 222,333,444local arg = 333,444

local arg = 444

實際上你每次賦值的時候 多給了很多引數 後面的數字被自動捨棄了所以輸出的時候就只會看到 111 222 333 444

lua裡 像 c裡面的 if(a >= 20 && a <= 100) 這樣的邏輯應該怎麼寫?lua邏輯且有短路

6樓:凌亂楓

if a>=20 and a <= 100 then

--your codeend

7樓:匿名使用者

lua 中的邏輯操作符有 and, or, 以及 not。 和控制結構一樣, 所有的邏輯操作符把 false 和 nil 都作為假, 而其它的一切都當作真。

取反操作 not 總是返回 false 或 true 中的乙個。 與操作符 and 在第乙個引數為 false 或 nil 時 返回這第乙個引數; 否則,and 返回第二個引數。 或操作符or 在第乙個引數不為 nil 也不為 false 時, 返回這第乙個引數,否則返回第二個引數。

and 和 or 都遵循短路規則; 也就是說,第二個運算元只在需要的時候去求值。 這裡有一些例子:

10 or 20 --> 1010 or error() --> 10nil or "a" --> "a"

nil and 10 --> nilfalse and error() --> falsefalse and nil --> falsefalse or nil --> nil10 and 20 --> 20-----------------------------

8樓:java緊挨

if a>=20 and a<=100 then

**.....

end;

程式語言裡的演算法是函式的演算法嗎,程式設計中的演算法是指什麼?

演算法是解決乙個實際問題的有效的步驟 方法。寫程式 函式,依據這種方法進行。比如,排序中的冒泡法,依次比較兩個數,如果他們的順序與要求的順序相反,就互換位置 這句話,就是演算法。定義陣列 變數,用某種程式語言,將這種演算法變成實際可以使用的程式 函式,就是程式設計了。演算法是通用的,本質上與使用哪種...

7脫式計算,能簡算的要簡算,575957脫式計算,能簡算的要簡算

5 7 5 9 5 7 5 7x 1 5 9 5 7x4 9 20 63 希望能幫到你!1 8x9 7 5 7 8能簡算的要簡算 1 8x9 7 5 7 8可以先將裡面的5 7 8化成5 7 1 81 8x9 7 5 7 1 8 1 8 9 7 5 7 1 8 16 7 2 7 1 8x9 7 5 ...

脫式計算,能簡算的用簡算

1 5.5 17.3 6.7 5.5 5.5 17.3 6.7 5.5 24 132 2 1.5 105 1.5 100 5 1.5 100 1.5 5 150 7.5 157.5 3 9.07 22.78 3.4 9.07 6.7 2.37 4 3.8 4.29 2.1 4.2 3.8 4.2 4...