綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[教程] 【新手】Lua數據類型和值

[複製連結] 查看: 2608|回覆: 0|好評: 2
跳轉到指定樓層
樓主
swx_9003 | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2013-12-10 10:56

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
寫腳本精靈的腳本,基本的數據類型是要知道的,基本的比較方式也是要知道的,數字和字符串之間的關係至少要明白,下面是摘抄的,給新手們看看。歡迎高手前來指導。

Nil
Lua中特殊的類型,他只有一個值:nil;一個全局變量沒有被賦值以前默認值為nil;給全局變量負nil可以刪除該變量。

Booleans
兩個取值false和true。但要注意Lua中所有的值都可以作為條件。在控制結構的條件中除了false和nil為假,其他值都為真。所以Lua認為0和空串都是真。

Numbers
表示實數,Lua中沒有整數。一般有個錯誤的看法CPU運算浮點數比整數慢。事實不是如此,用實數代替整數不會有什麼誤差(除非數字大於100,000,000,000,000)。 Lua的numbers可以處理任何長整數不用擔心誤差。你也可以在編譯Lua的時候使用長整型或者單精度浮點型代替numbers,在一些平台硬件不支持浮點數的情況下這個特性是非常有用的。和其他語言類似,數字常量的小數部分和指數部分都是可選的

Strings
指字符的序列。 lua是8位字節,所以字符串可以包含任何數值字符,包括嵌入的0。這意味著你可以存儲任意的二進制數據在一個字符串裡。 Lua中字符串是不可以修改的,你可以創建一個新的變量存放你要的字符串
a = "one string"
string和其他對像一樣,Lua自動進行內存分配和釋放,一個string可以只包含一個字母也可以包含一本書,Lua可以高效的處理長字符串,1M的string在Lua中是很常見的。可以使用單引號或者雙引號表示字符串
a = "a line"
b = "another line"
為了風格統一,最好使用一種,除非​​兩種引號嵌套情況。對於字符串中含有引號的情況還可以使用轉義符來表示。 Lua中的轉義序列有:
a bell
 back space -- 後退
f form feed -- 換頁

newline -- 換行

carriage return -- 回車
         horizo​​ntal tab -- 製表
v vertical tab
backslash -- ""
" double quote -- 雙引號
" single quote -- 單引號
[ left square bracket -- 左中括號
] right square bracket -- 右中括號
運行時,Lua會自動在string和numbers之間自動進行類型轉換,當一個字符串使用算術操作符時,string就會被轉成數字。
print("10" + 1) --> 11
print("10 + 1") --> 10 + 1
print("-5.3e - 10" * "2") --> -1.06e-09
print("hello" + 1) -- ERROR (cannot convert "hello")
反過來,當Lua期望一個string而碰到數字時,會將數字轉成string。
print(10 .. 20) --> 1020
儘管字符串和數字可以自動轉換,但兩者是不同的,像10 == "10"這樣的比較永遠都是錯的。如果需要顯式將string轉成數字可以使用函數tonumber(),如果string不是正確的數字該函數將返回nil。
line = io.read() -- read a line
n = tonumber(line) -- try to convert it to a number
if n == nil then
    error(line .. " is not a valid number")
else
    print(n*2)
end
反之,可以調用tostring()將數字轉成字符串,這種轉換一直有效:
print(tostring(10) == "10") --> true
print(10 .. "" == "10") --> true
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)

評分

參與人數 2碎鑽 +2 幫助 +2 收起 理由
跩跩 + 1 + 1 非常讚
m05491tw + 1 + 1 非常讚

查看全部評分

收藏收藏1 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則