锘??xml version="1.0" encoding="utf-8" standalone="yes"?>激情五月综合综合久久69,亚洲婷婷国产精品电影人久久 ,亚洲日韩中文无码久久http://www.shnenglu.com/zhenyu/category/362.htmlzh-cnMon, 19 May 2008 14:13:28 GMTMon, 19 May 2008 14:13:28 GMT60Programmming in Lua瀛︿範絎旇(杈瑰杈規(guī)洿鏂癷ng銆傘傘?http://www.shnenglu.com/zhenyu/archive/2005/11/17/1167.html闃甸洦闃甸洦Wed, 16 Nov 2005 18:30:00 GMThttp://www.shnenglu.com/zhenyu/archive/2005/11/17/1167.htmlhttp://www.shnenglu.com/zhenyu/comments/1167.htmlhttp://www.shnenglu.com/zhenyu/archive/2005/11/17/1167.html#Feedback2http://www.shnenglu.com/zhenyu/comments/commentRss/1167.htmlhttp://www.shnenglu.com/zhenyu/services/trackbacks/1167.htmlProgrammming in Lua瀛︿範絎旇

author:闃甸洦 2005騫?1鏈?7鏃?:34:46

絎?绔?搴忚█


Lua鎵鎻愪緵鐨勬満鍒舵槸C涓嶅杽浜庣殑錛氶珮綰ц璦銆佸姩鎬佺粨鏋勩佺畝媧侊紝鏄撲簬嫻嬭瘯鍜岃皟璇曘?BR>姝e洜涓哄姝わ紝Lua鍏鋒湁鑹ソ鐨勫畨鍏ㄤ繚璇侊紝鑷姩鍐呭瓨綆$悊錛岀畝渚跨殑瀛楃涓插鐞嗗姛鑳?BR>浠ュ強鍏朵粬鍔ㄦ佹暟鎹殑鏀瑰彉銆?BR>Lua鍏鋒湁鍙墿灞曘佺畝鍗曘侀珮鏁堛佽法騫沖彴鐨勭壒鐐廣?/FONT>

絎?1 绔?nbsp; 璧風偣


涓涓狢hunk鍙互鏄竴涓鍙ワ紝涔熷彲浠ユ槸涓緋誨垪璇彞鐨勭粍鍚堬紝榪樺彲浠ユ槸鍑芥暟錛孋hunk鍙互寰堝ぇ錛屽湪Lua涓嚑涓狹byte鐨凜hunk
鏄緢甯歌鐨勩?/FONT>

鍏ㄥ眬鍙橀噺涓嶉渶瑕佸0鏄庯紝緇欎竴涓彉閲忚祴鍊煎悗鍗沖垱寤轟簡榪欎釜鍏ㄥ眬鍙橀噺錛岃闂竴涓病鏈夊垵濮嬪肩殑鍏ㄥ眬
鍙橀噺涔熶笉浼氬嚭閿欙紝鍙笉榪囩殑寰楀埌鐨勭粨鏋滄槸:nil銆?BR>濡傛灉鎯沖垹闄や竴涓叏灞鍙橀噺錛屽彧闇瑕佸皢鍙橀噺璧嬪間負 nil.


絎?2 绔?綾誨瀷鍜屽?/FONT>


姣忎釜璇彞緇撳熬鐨勫垎鍙?';' 鏄彲閫夌殑錛屼絾鏄鏋滃悓涓琛屾湁澶氫釜璇彞鏈濂界敤' ; '鏉ュ皢鍏墮殧寮

Lua鏄姩鎬佺被鍨嬭璦錛屽彉閲忎笉瑕佺被鍨嬪畾涔夈俵ua涓湁8縐嶅熀鏈被鍨嬪垎鍒負錛?/FONT>

nil ,boolean ,number, string,userdata,function,thread,table

鍙橀噺娌℃湁棰勫畾涔夌殑綾誨瀷錛屾瘡涓涓彉閲忛兘鍙兘鍖呭惈浠諱竴縐嶇被鍨嬬殑鍊鹼紝渚嬪錛?/FONT>

print(type(a))  -->nil ('a' is not initialized)
a
=10

print(type(a))  -->number
a
="a string"

print(type(a))  -->string
a
=print  -->yes ,this is
 valid!
a(type(a)) 
-->function

鎴戜滑鍙互浣跨敤function鍍忎嬌鐢ㄥ叾瀹冨間竴鏍蜂嬌鐢?/FONT>

Nil 
Lua涓壒孌婄殑綾誨瀷錛屽畠鍙湁涓涓?nil,涓涓叏灞鍙橀噺娌℃湁琚祴鍊間互鍓嶉粯璁ゅ間負nil

Booleans 涓や釜鍙栧?false 鍜?true ,浣嗚娉ㄦ剰Lua涓?鈥滄墍鏈夌殑鍊尖濋兘鍙互鐢ㄤ綔涓烘潯浠訛紝鍦ㄦ帶鍒剁粨鏋勭殑
鏉′歡涓櫎浜?FONT color=#0000ff>false 鍜?nil
涓哄亣錛屽叾瀹冨奸兘涓虹湡錛屾墍浠ua璁や負0鍜岀┖涓?/FONT>閮芥槸鐪?

Lua鐨勫瓧絎︿覆鍙互鍖呭惈浠諱綍鏁板肩殑瀛楃錛屽寘鎷祵鍏ョ殑0錛岃繖鎰忓懗鐫浣犲彲浠ュ瓨鍌ㄤ換鎰忕殑浜岃繘鍒舵暟鎹湪涓涓瓧絎︿覆閲岄潰銆?BR>瀛楃涓叉槸涓嶅彲浠ヤ慨鏀圭殑錛屼綘鍙互鍒涘緩涓涓柊鐨勫彉閲忔潵瀛樺偍浣犺鐨勫瓧絎︿覆
Lua鍙互楂樻晥鐜囩殑澶勭悊闀垮瓧絎︿覆錛?M澶у皬鐨剆tring鍦↙ua涓槸甯歌鐨勩?BR>鍙互鐢ㄥ崟寮曞彿鎴栬呭弻寮曞彿鏉ヨ〃紺哄瓧絎︿覆 a="a lien" ,b='another line'
杞箟瀛楃涓嶤璇█鐩稿悓銆?BR>鍙互鍦ㄥ瓧絎︿覆涓嬌鐢?FONT color=#0000ff>\ddd
(ddd涓轟笁浣嶅崄榪涘埗鏁板瓧) 鏂瑰紡鏉ヨ〃紺哄瓧姣?BR>榪樺彲浠ヤ嬌鐢?FONT color=#0000ff>[[ ...]]
鏉ヨ〃紺哄瓧絎︿覆錛岃繖縐嶅艦寮忕殑瀛楃涓插彲浠ュ寘鍚琛岋紝涔熷彲浠ュ祵濂楋紝
鑰屼笖涓嶄細瑙i噴杞Щ瀛楃錛屽鏋滅涓涓瓧絎︽槸鎹㈣絎︿細琚嚜鍔ㄥ拷鐣ユ帀錛岃繖縐嶅艦寮忕殑瀛楃涓?BR>鐢ㄦ潵鍖呭惈涓孌典唬鐮佹槸闈炲父鏂逛究鐨?BR>榪愯鏃訛紝Lua浼氳嚜鍔ㄥ湪string鍜?FONT color=#0000ff>numbers
涔嬮棿鑷姩榪涜綾誨瀷杞崲錛屽綋涓涓瓧絎︿覆浣跨敤綆楁湳
鎿嶄綔絎︽椂錛宻tring浼氳杞崲鎴愭暟瀛?BR>灝界瀛楃涓插拰鏁板瓧鍙互鑷姩杞崲錛屼絾鏄袱鑰呮槸涓嶅悓鐨勶紝姣斿
10 ~= "10".

Lua閫氳繃寮曠敤姣旇緝tables userdata functions ,涔熷氨鏄褰撲笖浠呭綋涓よ呰〃紺哄悓涓涓璞℃椂
浠栦滑鎵嶇浉鍚岋紝nil鍙拰nil鐩哥瓑銆傚鏋滀袱涓肩被鍨嬩笉鍚岋紝Lua鍒欒涓轟粬浠笉鍚?/FONT>


絎?3 绔?琛ㄨ揪寮?BR>


and 鍜?or 鐨勮繍綆楃粨鏋滀笉鏄痶rue鎴栬協(xié)alse,鑰屾槸鍜屽畠鐨勪袱涓搷浣滄暟鐩稿叧.
a and b  a or b  鎸夌収C璇█鐨勯昏緫榪愮畻欏哄簭璁$畻錛宎銆乥涓や釜琛ㄨ揪寮忥紝璁$畻鍒板摢涓涓氨榪斿洖鍝竴涓殑鍊?BR>渚嬪錛歛 && b 濡傛灉 a涓篺alse,閭d箞鏃犻』璁$畻b 鍗沖彲鐭ヨ〃杈懼紡涓篺alse
鎵浠?nbsp;a and b鐨勭粨鏋滄槸濡傛灉a涓篺alse,鍒欒繑鍥瀉,鍚﹀垯榪斿洖b

涓涓緢瀹炵敤鐨勬妧宸э紝x = x or v
C璇█涓殑 a ? b:c 絳変環(huán)浜嶭ua涓殑 (a and b) or c

榪愮畻絎︾殑浼樺厛綰?鍙儨娌℃湁浣嶈繍綆?IMG height=19 src="http://www.shnenglu.com/Emoticons/cry_smile.gif" width=19 border=0>)錛?/FONT>

 ^
 
not -(unary)
 
* /

 
+ -
 ..
 
< > <= >= ~= ==
 
and
 
or

闄や簡^鍜?.. 涔嬪鎵鏈夌殑浜屽厓榪愮畻絎﹂兘鏄乏榪炴帴鐨勩?/FONT>

Lua涓殑琛ㄥ彲浠ョ敤瀛楃涓插拰鏁板瓧浣滀負index,濡倀t={name="table",["size"]=2錛孾3]="number"}
濡傛灉涓嶄嬌鐢ㄦ暟瀛楄〃杈懼紡錛孡ua鍒欒嚜鍔ㄤ粠鏁板瓧 1 寮濮嬩綔涓篿ndex,濡?FONT color=#0000ff>tt={"table",2}
閭d箞tt[1]=="table,tt[2]==2
鍦ㄦ瀯閫犲嚱鏁頒腑,鍩熷垎闅旂閫楀彿(,)鏄彲浠ョ敤鍒嗗彿(;)鏇夸唬鐨勶紝閫氬父鎴戜滑鐢ㄥ垎鍙鋒潵鍒嗗壊涓嶅悓綾誨瀷鐨勮〃鍏冪礌銆傚錛?BR>tt={x=10,y=45 ; "one","two","three"}
The syntax var.NAME is just syntactic sugar for var["NAME"]:



闃甸洦 2005-11-17 02:30 鍙戣〃璇勮
]]>
Lua瀹炵幇鐨?浣嶈繍綆?妯″潡http://www.shnenglu.com/zhenyu/archive/2005/11/11/1050.html闃甸洦闃甸洦Thu, 10 Nov 2005 19:08:00 GMThttp://www.shnenglu.com/zhenyu/archive/2005/11/11/1050.htmlhttp://www.shnenglu.com/zhenyu/comments/1050.htmlhttp://www.shnenglu.com/zhenyu/archive/2005/11/11/1050.html#Feedback1http://www.shnenglu.com/zhenyu/comments/commentRss/1050.htmlhttp://www.shnenglu.com/zhenyu/services/trackbacks/1050.html--[[
Description:
    FileName:bit.lua
    This module provides a selection of bitwise operations.
History:
    Initial version created by  闃甸洦 2005-11-10.
Notes:
  ....
]]
--[[{2147483648,1073741824,536870912,268435456,134217728,67108864,33554432,16777216,
        8388608,4194304,2097152,1048576,524288,262144,131072,65536,
        32768,16384,8192,4096,2048,1024,512,256,128,64,32,16,8,4,2,1}
        ]]


bit={data32={}}
for i=1,32 do
    bit.data32[i]=2^(32-i)
end

function bit:d2b(arg)
    local   tr={}
    for i=1,32 do
        if arg >= self.data32[i] then
        tr[i]=1
        arg=arg-self.data32[i]
        else
        tr[i]=0
        end
    end
    return   tr
end   --bit:d2b

function    bit:b2d(arg)
    local   nr=0
    for i=1,32 do
        if arg[i] ==1 then
        nr=nr+2^(32-i)
        end
    end
    return  nr
end   --bit:b2d

function    bit:_xor(a,b)
    local   op1=self:d2b(a)
    local   op2=self:d2b(b)
    local   r={}

    for i=1,32 do
        if op1[i]==op2[i] then
            r[i]=0
        else
            r[i]=1
        end
    end
    return  self:b2d(r)
end --bit:xor

function    bit:_and(a,b)
    local   op1=self:d2b(a)
    local   op2=self:d2b(b)
    local   r={}
    
    for i=1,32 do
        if op1[i]==1 and op2[i]==1  then
            r[i]=1
        else
            r[i]=0
        end
    end
    return  self:b2d(r)
    
end --bit:_and

function    bit:_or(a,b)
    local   op1=self:d2b(a)
    local   op2=self:d2b(b)
    local   r={}
    
    for i=1,32 do
        if  op1[i]==1 or   op2[i]==1   then
            r[i]=1
        else
            r[i]=0
        end
    end
    return  self:b2d(r)
end --bit:_or

function    bit:_not(a)
    local   op1=self:d2b(a)
    local   r={}

    for i=1,32 do
        if  op1[i]==1   then
            r[i]=0
        else
            r[i]=1
        end
    end
    return  self:b2d(r)
end --bit:_not

function    bit:_rshift(a,n)
    local   op1=self:d2b(a)
    local   r=self:d2b(0)
    
    if n < 32 and n > 0 then
        for i=1,n do
            for i=31,1,-1 do
                op1[i+1]=op1[i]
            end
            op1[1]=0
        end
    r=op1
    end
    return  self:b2d(r)
end --bit:_rshift

function    bit:_lshift(a,n)
    local   op1=self:d2b(a)
    local   r=self:d2b(0)
    
    if n < 32 and n > 0 then
        for i=1,n   do
            for i=1,31 do
                op1[i]=op1[i+1]
            end
            op1[32]=0
        end
    r=op1
    end
    return  self:b2d(r)
end --bit:_lshift


function    bit:print(ta)
    local   sr=""
    for i=1,32 do
        sr=sr..ta[i]
    end
    print(sr)
end

bs=bit:d2b(7)
bit:print(bs)                          
-->00000000000000000000000000000111
bit:print(bit:d2b(bit:_not(7)))         
-->11111111111111111111111111111000
bit:print(bit:d2b(bit:_rshift(7,2)))    
-->00000000000000000000000000000001
bit:print(bit:d2b(bit:_lshift(7,2)))    
-->00000000000000000000000000011100
print(bit:b2d(bs))                      -->     7
print(bit:_xor(7,2))                    -->     5
print(bit:_and(7,4))                    -->     4
print(bit:_or(5,2))                     -->     7


--end of bit.lua


闃甸洦 2005-11-11 03:08 鍙戣〃璇勮
]]>
久久国产精品99精品国产987| 久久综合久久综合久久| 性欧美大战久久久久久久| 久久夜色撩人精品国产| 思思久久好好热精品国产| 九九精品99久久久香蕉| AA级片免费看视频久久| 精品伊人久久久| 国产成人综合久久综合| 亚洲欧美成人久久综合中文网| 久久精品国产99国产精品亚洲| 国内精品久久久久久野外| 久久婷婷人人澡人人| 久久久久免费精品国产| 国产成人精品久久| 久久夜色精品国产噜噜噜亚洲AV | 久久精品视频网| 无夜精品久久久久久| 国产一久久香蕉国产线看观看| 久久久久亚洲?V成人无码| 麻豆一区二区99久久久久| 久久久久这里只有精品| 久久精品国产亚洲av高清漫画| 久久综合亚洲色HEZYO国产| 久久偷看各类wc女厕嘘嘘| 久久综合亚洲色HEZYO国产| 狠色狠色狠狠色综合久久| 久久国产欧美日韩精品| 亚洲精品综合久久| 久久精品中文字幕有码| 99久久精品费精品国产| 久久w5ww成w人免费| 久久久久久九九99精品| 18禁黄久久久AAA片| 婷婷国产天堂久久综合五月| 久久久WWW免费人成精品| 成人a毛片久久免费播放| 国产一区二区三区久久| 香蕉久久一区二区不卡无毒影院 | 国产精品免费久久| 97精品国产97久久久久久免费|