在Lua中使用數字的時候有個坑

2022-08-20 19:48:13 字數 1002 閱讀 3890

今天在寫lua**的時候發現乙個坑

(**結合自cocos2dx)

local duration = duration or

0.14

local percent = 0.1

self:setopacity(

100)

local scaletobig = nil

scaletobig = self:schedule(function

() self:setscaley(percent)

if percent == 1

then

self:stopaction(scaletobig)

scaletobig = nil

utils_safecall(callback)

endpercent = percent + 0.1

end, duration / 10)

當使用上面的**的時候, 注意有一句 if percent == 1 then ...,按照正常的理解來說當執行到這句的時候就應該調到了if塊中了,但是結果沒有。。。

原來在lua的語法中數字型別不區分整數與浮點數,所以在此的 percent 雖然列印著到了 1,可是實際其可能真正的帶著小數點。

那麼遇到這種需要驗證正整數的時候怎麼辦的呢,使用tostring。。。

1

iftostring(percent) == tostring(1) then

3self:stopaction(scaletobig)

4 scaletobig = nil

5utils_safecall(callback)

6end

那麼這個坑就算是解決了,但是,其實當判斷乙個值的臨界時這種判斷方法其實是不安全的,應該這樣寫:

1

if percent >= 1

then

2end

在Lua程式中使用SQLite的教程

sqlite匯入 我們可以用乙個簡單語句匯入sqlite庫,假設lua中正確實現並已完成。在安裝過程中,資料夾libsql包含資料庫相關的檔案。複製 如下 sqlite3 require luasql.sqlite3 變數sqlite3將提供通過參照主sqlite3表訪問該功能。建立連線 我們成立了...

在jsp中使用EXTJS的時候老提示EXT未定義

在jsp中使用extjs的時候老提示ext未定義 匯入的js檔案也都匯入進去了,路徑也都對了,可是還是老提示ext未定於,找了半天錯誤終於發現了原來是 在建立乙個jsp檔案的時候,預設head裡面有個標籤 所以在引用js檔案的時候 找不到指定路徑 解決辦法,要麼去掉 要麼使用絕對路徑引用js檔案 要...

在使用easyui的時候有哪些需要注意的點?

easyui的解析方式是通過解析程式設計師定義的html,然後easyui會在html每個元素的下面建立easyui的元素,所以有一些時候會出現一些很奇怪的bug,例如table的th一直在閃 無法構造dialog裡面的元素 無法選中combobox 無法設定元素的值 以下是我在使用easyui會注...