Lua 第17 章 數學庫

2022-07-29 20:06:11 字數 1099 閱讀 3824

第17 章 數學庫

在這一章中(以下關於標準庫的幾章中相同)我的主要目的不是對每個函式給出完整地說明,而是告訴你標準庫可以提供什麼功能。為了可以清楚地說明問題,我可能 會忽略一些小的選項或者行為。基本的思想是激發你的好奇心,這些好奇之處可能在參考於冊中找到答案。

數學庫由算術函式的標準集合組成。比方三角函式庫(sin, cos, tan, asin, acos, etc.), 冪指函式(exp, log,  log10),捨入函式(floor,  ceil)、max、min。加上乙個變數 pi。

數學庫也定義了乙個冪操作符(^)。

全部的三角函式都在弧度單位下工作。

(lua4.0 曾經在度數下工作。

)你能夠使用 deg 和 rad 函式在度和弧度之間轉換。

假設你想在 degree 情況下使用三角函式,你能夠重定 義三角函式:

local sin, asin, ... = math.sin, math.asin, ...

local deg, rad =math.deg, math.rad

math.sin = function (x) return sin(rad(x)) end

math.asin = function (x) return deg(asin(x)) end

...

math.random 用來產生偽隨機數,有三種呼叫方式: 

第一:不帶引數,將產生 [0,1)範圍內的隨機數.

第二:帶乙個引數 n,將產生 1 <= x <= n 範圍內的隨機數 x. 

第三:帶兩個引數 a 和 b,將產生 a <= x <= b 範圍內的隨機數 x.

你能夠使用 randomseed 設定隨機數發生器的種子,僅僅能接受乙個數字引數。通常在 程式開始時,使用國定的種子初始化隨機數發生器,意味著每次執行程式,將產生同樣 的隨機數序列。

為了除錯方便。這非常有優點。可是在遊戲中就意味著每次執行都擁有同樣的關卡。解決問題的乙個通常的技巧是使用當前系統時間作為種子:

math.randomseed(os.time())

(os.time   函式返回乙個表示當前系統時間的數字,一般是自新紀元以來的乙個整 數。)

《Lua程式設計》第6章 深入函式 學習筆記

在lua中,函式是一種 第一類值 first class value 它們具有特定的詞法域 lexical scoping 詞法域 函式可以潛逃在另乙個函式中,內部的函式可以訪問外部函式中的變數。它允許lua在應用各種函式式語言 functional language 中的強大程式設計技術。lua中...

Lua數學庫(標準庫相關)

在這一章中 下面關於標準庫的幾章中同樣 我的主要目的不是對每乙個函式給出完整地說明,而是告訴你標準庫能夠提供什麼功能。為了能夠清楚地說明問題,我可能會忽略一些小的選項或者行為。主要的思想是激發你的好奇心,這些好奇之處可能在參考手冊中找到答案。數學庫由算術函式的標準集合組成,比如三角函式庫 sin,c...

《構建之法》 閱讀(第13章 第17章)

第13章 軟體測試 1.名詞解釋 bug 軟體的缺陷 test case 測試用例。測試用例描述了乙個完整的測試過程,包括測試環境 輸入 期望的結果等 2.bug解釋與例項 1 bug可以分解為 症狀 symptom 程式錯誤 fault 根本原因 root cause 症狀 即從使用者的角度看,軟...