自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

解析Lua腳本語言入門代碼

移動開發(fā) iOS
Lua腳本語言入門代碼是本文要介紹的內(nèi)容,主要是來學(xué)習(xí)Lua腳本語言,具體內(nèi)容來看本文通過代碼如何來講解Lua腳本語言。

Lua腳本語言入門代碼是本文要介紹的內(nèi)容,主要是來學(xué)習(xí)Lua腳本語言。近來游戲基本做的差不多了,大約5月底左右可以內(nèi)測?現(xiàn)在正在快馬加鞭增強其腳本功能??紤]到效率和庫大小,功能等原因,暫決定使用<魔獸世界>采用的Lua語言進(jìn)行嵌入支持.我可愛的Python和Ruby沒被采用,怨念啊...下面是學(xué)習(xí)的一些代碼,均在LuaEdit5.0上運行通過.

  1. --> 實驗類型  
  2.  
  3. print( type("HelloWorld") );  
  4. print( type(10.4 * 3) );  
  5. print( type(print) );  
  6. print( type(type) );  
  7. print( type(true) );  
  8. print( type(nil) );  
  9. print( type(type(x)) );  
  10.  
  11. print("-------------------------------")  
  12. --> 實現(xiàn)同一變量對應(yīng)多種類型  
  13.  
  14. print( type(a) )  
  15. a = 10 
  16. print( type(a) )  
  17. a = "a string!!" 
  18. print( type(a) )  
  19. a = print 
  20. a( type(a) )  
  21.  
  22. print("-------------------------------")  
  23. --> 實現(xiàn)字符串部分替代保存和部分特殊轉(zhuǎn)義符  
  24.  
  25. a = "My game is \n\"\'so\bso good" ;  
  26. b = string.gsub( a, "ga", "ha" );  
  27. print( a );  
  28. print( b );  
  29.  
  30. print("-------------------------------")  
  31. --> 實現(xiàn)Asc碼和字符之間的替換表示  
  32.  
  33. print("\097\102a")    ;  
  34. print("100" + 2 * "5" ) ;  
  35.  
  36. print("-------------------------------")  
  37. --> 用于測試字符串鏈接,數(shù)字自動轉(zhuǎn)換字符串  
  38.  
  39. print("Hello".."World");  
  40. sString = [[  
  41. 你好,現(xiàn)在是在測試大段的String類型,  
  42. 將使用這兩個符號進(jìn)行表示  
  43. 測試希望能夠順利結(jié)束.  
  44.     ]];  
  45. print( sString );  
  46.  
  47. print( 10 .. 20 );  
  48.  
  49. line = 100 
  50. n = tonumber(line)  
  51. if ( n == nil )  
  52. then error("您輸入的值" .. line .. "無法正常轉(zhuǎn)換為浮點數(shù)!")  
  53. else print( n^2 )  
  54. end  
  55.  
  56. print( 10 == "10" )  
  57. print( tostring(10) == "10" )  
  58.  
  59. print("-------------------------------")  
  60. --> 不等于符是 ~=   不再是 !=  
  61.  
  62. if( a ~= nil )  
  63. then print(a)  
  64. else print(" a為空 ")  
  65. end  
  66.  
  67. print("-------------------------------")  
  68. --> == 號是進(jìn)行兩個變量的地址進(jìn)行比較,所以2例中的a和c是不相等的  
  69.  
  70. a = 1;  
  71. b = a;  
  72. c = 1;  
  73. if( a == b )  
  74. then print( "a=b" )  
  75. else print( "a~=b" )  
  76. end  
  77.  
  78. if( a == c )  
  79. then print( "a=c" )  
  80. else print( "a~=c" )  
  81. end  
  82.  
  83. a = {};  
  84. a.x = 1;  
  85. a.y = 2;  
  86.  
  87. b = {};  
  88. b = a;  
  89.  
  90. c = {};  
  91. c.x = 1;  
  92. c.y = 2;  
  93.  
  94. if( a == b )  
  95. then print( "a=b" )  
  96. else print( "a~=b" )  
  97. end  
  98.  
  99. if( a == c )  
  100. then print( "a=c" )  
  101. else print( "a~=c" )  
  102. end  
  103.  
  104. print("-------------------------------")  
  105.  
  106. print( 2 < 5 )  
  107. --> print( a < b )       --> Lua不會自動將char轉(zhuǎn)換為int  
  108. --> print( a < 1 )  
  109. print( "2" + 1 < 2 )  
  110. --> print( "3" < 2 )     --> 不合法  
  111. print( "3" > "2" )       --> 合法  
  112.  
  113. print("-------------------------------")  
  114. --[[  
  115. * 邏輯運算符認(rèn)為false和nil是假,0和其他一切都為true  
  116. * and 和 or 的預(yù)算結(jié)果不再是true或false,Lua中,它類似于一個三元運算符  
  117. * a and b   若a為false,則返回a,否則返回b  
  118. * a or b    若a為true,則返回a,否則返回b  
  119. --]]  
  120.  
  121. print( 4 and 5 )  
  122. print( nil and 13 )  
  123. print( false and 13 )  
  124. print( 4 or 5 )  
  125. print( false or 5 )  
  126.  
  127. --[[  
  128. *    實用技巧: 若a為空值則將b賦給a  
  129. *              aa = a or b  
  130. *    另外,and 的優(yōu)先級比 or 高.  
  131. *    not 的結(jié)果只有true或false  
  132. --]]  
  133.  
  134. print( not 0 )           --> 注意,0也是true  
  135. print( not false )  
  136. print( not nil )  
  137. print( not true )  
  138. print( not hahahaha )    --> hahahaha變量未賦值,認(rèn)為是nil  
  139. print( not not true )  
  140. a = "hahahaha" 
  141. print( not not a )  
  142. if( a == "hahahaha" )  
  143. then print(" a還是\"hahahaha\" ");  
  144. else print(" a已經(jīng)是true ");  
  145. end  
  146. print("-------------------------------")  
  147. --> 表的使用  
  148.  
  149. a = { 1, 3, 6, 0 }  
  150. print( a[2] );         --> 注意,結(jié)果是3,說明Lua表索引是以1開始的,不是C/C++一樣以0開始  
  151.  
  152. print("-------------------------------")  
  153. --> 表是動態(tài)的,允許順時進(jìn)行修改  
  154.  
  155. w = { x = 0y = 0label = "呵呵" }  
  156. x = {}  
  157. w[1] = "嘿嘿"  
  158. x.f = w 
  159. print(w[1])  
  160. print(x[1])  
  161. print(x.f[1])  
  162.  
  163. print("-------------------------------")  
  164. --> function函數(shù)  
  165.  
  166. function Fun( a, b )  
  167. local c = a^2 + b^2 ;  
  168. return math.sqrt(c)  
  169. end  
  170.  
  171. print( Fun( 3, 4 ))   ;  
  172.  
  173. print("-------------------------------")  
  174. --> Loops循環(huán),從第一個參數(shù)到第二個參數(shù),第三個參數(shù)是步長,中間以逗號分割  
  175.  
  176. for i = 1,5,2  
  177. do   print("現(xiàn)在的I值是" .. i )  
  178. end  
  179.  
  180. print("-------------------------------")  
  181. --> Loops循環(huán)+Conditionals條件  
  182.  
  183. for i = 1,6  
  184. do if i < 3 
  185.          then print("數(shù)字很小")  
  186.       elseif i < 5 
  187.            then print("數(shù)字一般")  
  188.            else print("數(shù)字比較大")  
  189. end  
  190. end  
  191. --[[  
  192. *    Lua不近然ObjectPascal,沒必要每個begin對應(yīng)一個end  
  193. *    即使多個if,也是一個end就足夠  
  194. --]]  
  195. print("-------------------------------")  
  196.  
  197. myData = { 2 }  
  198. myData[0] = "111"  
  199. myData["yumen"] = "duzhi"  
  200.  
  201. for key,value in myData  
  202. do print( key .. "=" .. value )  
  203. end  
  204. --[[  
  205. *    Lua允許以字符串做為下標(biāo),這點十分類似STL中的map映射  
  206. *  
  207. --]]  
  208. print("-------------------------------")  
  209.  
  210. --> 嵌套Table 以及 兩種訪問模式  
  211. myTable = { color = "blue"sex = 1x = 0;  
  212.     { x = 1y = 2 }, { x = 2y = 3 } ,  
  213.     { x = 3y = 4 }, { x = 4y = 5 }  
  214.      }  
  215. print( myTable.color );  
  216. print( myTable["color"]) ;  
  217. print( myTable[1].x );  
  218.  
  219. print("-------------------------------")  
  220.  
  221. --> 支持不定參數(shù)  
  222. function Fun( ... )  
  223. for i = 1, arg.n  
  224.    do print( arg[i] )  
  225. end  
  226. end  
  227.  
  228. Fun("1", "2", dhsag, 1, nil, true )  
  229. --[[  
  230. *    傳來的參數(shù)自動的存放在了一個名為 arg 的Table中了  
  231. *    其中arg.n就是arg中存放參數(shù)的個數(shù)  
  232. --]]  
  233.  
  234. print("-------------------------------")  
  235.  
  236. --> 以table表做參數(shù)  
  237. function Fun( t )  
  238. for k,v in t  
  239.       do print( k .. "=" .. v )  
  240. end  
  241. end  
  242.  
  243. Fun({ x = 10y = 20 });  
  244. Fun{ x = 10y = 20 };  
  245. --[[  
  246. *    雖然僅僅是調(diào)用單個Table做為參數(shù)  
  247. * 調(diào)用處不加小括號也可以,但是不支持這種寫法.可讀性低.  
  248. --]]  
  249.  
  250. print("-------------------------------") 

小結(jié):解析Lua腳本語言入門代碼的內(nèi)容介紹完了,希望通過本文的學(xué)習(xí)能對你有所幫助!

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-08-22 16:59:28

Lua

2011-08-25 10:40:21

Lua游戲

2011-08-23 09:44:28

LUA腳本

2011-08-22 18:08:09

Lua腳本

2011-08-22 17:41:23

LUA 腳本 語言

2011-06-22 14:07:42

Lua

2011-08-25 11:02:04

2011-08-25 09:55:27

2011-08-24 13:32:17

2011-08-25 14:26:40

LUA數(shù)據(jù)文件

2010-03-25 16:31:55

Python代碼

2010-02-24 14:04:32

Python腳本語言

2009-06-10 08:41:15

Linux腳本語言

2010-02-26 09:33:51

Python腳本

2012-07-16 11:23:18

LinuxWindows腳本語言

2011-08-16 10:03:45

Groovy編程語言Web

2011-09-07 09:51:27

Javascript

2010-02-26 13:03:31

Python腳本語言

2011-08-24 17:05:01

Lua

2011-08-25 13:22:40

CEGUILua腳本
點贊
收藏

51CTO技術(shù)棧公眾號