精華區beta mud_sanc 關於我們 聯絡資訊
string.byte(s,i,j) 功能:回傳從i到j的字元所對應的數值(ASCII值)。 說明:i預設為1,j預設為i的值。    中文字也可以得到相對的值。 範例:words = 'abcd123測試中!!' print (string.byte(words,3)) 回傳變數words裡第3個字元"c"的ASCII值:99 print (string.byte(words,3,4)) 回傳變數words裡第3到4個字元"cd"的ASCII值:99 100 print (words:byte(2,5)) 回傳變數words裡第2到5個字元"bcd1"的ASCII值:98 99 100 49 這個語法等同於print (string.byte(words,2,5)),冒號在Lua裡可以把右邊的值傳 遞給左邊的函數;類似的寫法可以在Mushclient的抓聊天訊息到新視窗的Plugin裡看 到。 a,b,c = words:byte(2,3) print (a,b,c) 回傳變數words裡第2到3個字元"bc"的ASCII值:98 99 nil 這裡先把得到的值傳到a,b,c裡,再用print去顯示。當函數回傳的值不只一個,但希 望只得到其中一個值,可以這麼寫。但一般會如此寫: _,b,_ = words:byte(2,3) 把不需要的值傳回變數_。 如果設定的變數名超過回傳的值數目,沒賦值的變數會顯示nil;反之,多餘的回傳值 會被捨棄。 print (string.byte(words,8,9)) 回傳變數words裡第8到9個字元"測"的ASCII值:180 250 '測'是由兩個字元組成的,所以要設頭尾以得到兩個值。