print(10%3) --輸出1
上面代碼中,10除以3的商為3,余數為1,因此輸出結果為1。
注意,取余運算符要求兩個操作數必須都是數字型,并且不支持字符串類型的取余運算。如果其中一個不是數字,則會拋出錯誤。
math.randomseed(os.time()) --設置隨機數種子為當前時間戳 print(math.random(1, 100)) --輸出1~100中的隨機數
上面代碼中,我們通過math.randomseed()函數設置隨機數的種子為當前時間戳,以確保每次運行程序都會得到不同的隨機數。然后使用math.random()函數生成1~100之間的隨機數。
print(10%3) --輸出1
上面代碼中,10除以3的商為3,余數為1,因此輸出結果為1。
print(10%3.5) --輸出2.5
上面代碼中,10除以3.5的商為2,余數為3,因此輸出結果為2.5。
如果兩個操作數都是整數,則取余運算的結果也是整數。
print(-10%3) --輸出2
上面代碼中,-10除以3的商為-4,余數為2,因此輸出結果為2。這個結果可能會有些出乎意料。實際上,Lua的取余運算是根據C的語法規則實現的,也就是說,取余運算的結果與第一個操作數的符號相同。因此,如果第一個操作數是負數,那么余數也是負數。
如果我們想要得到正數結果,則可以使用以下代碼:
print((-10%3+3)%3) --輸出1
上面代碼中,我們先將-10%3計算出來,得到-1,然后加上3得到2,最后再對3取余,得到1,這個結果是正確的。
function get_script_path() local str = debug.getinfo(2, "S").source:sub(2) return str:match("(.*/)") end print(get_script_path()) --輸出當前程序所在目錄
上面代碼中,我們定義了一個get_script_path()函數來獲取當前程序所在目錄,然后調用這個函數并打印輸出結果。
local file = io.open("file.txt", "r") local content = file:read("*all") file:close() print(content)
上面代碼中,我們打開一個名為file.txt的文件,使用read("*all")函數讀取整個文件的內容,然后關閉文件。最后,我們輸出文件內容。
以上就是Lua取余的相關內容,希望對大家有所幫助。