Chinaunix首页 | 论坛 | 博客
  • 博客访问: 233270
  • 博文数量: 56
  • 博客积分: 2480
  • 博客等级: 大尉
  • 技术积分: 475
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-28 10:57
文章分类

全部博文(56)

文章存档

2012年(36)

2011年(4)

2010年(2)

2009年(14)

我的朋友

分类: Python/Ruby

2012-02-28 13:18:32

前段时间有空, 看了一小会lua,现在好像又还给了,脑袋空空,再次翻开lua,记录至此。

 

[python] view plaincopy
  1. --[[  
  2.     学习lua,小程序,当作学习而已,程序可能没有什么实际意义  
  3. ]]  
  4.   
  5.   
  6. -- 1.Hello world  
  7.   
  8. print"---------1----------------")  
  9. print("Hello world")        --> ?Hello World  
  10.   
  11.   
  12. -- 2.function define  
  13.   
  14. print"---------2----------------")  
  15. --[[  
  16. function fact(n)  
  17.     if n == 0 then  
  18.         return 1  
  19.     else  
  20.         return n * fact(n-1)  
  21.     end  
  22. end  
  23.   
  24. print"enter a number:" )  
  25. n = io.read( "*number" )  
  26. print( fact( n) )  
  27.   
  28. ]]  
  29.   
  30.   
  31.   
  32.   
  33. --[[3.lua 共用8种基本类型,分别是nil, boolean, boolean, number, string  
  34. userdata, function, thread, table,在条件判断时,nil和 false 为假,其他为真。  
  35. 使用未定义的变量,不会触发异常,会得到nil值  
  36. ]]  
  37.   
  38. print"---------3----------------")  
  39. print( type( "Hello World") )           --> string  
  40. print( type( 2009 ) )                   --> number  
  41. print( type( print ) )                  --> function  
  42. print( type( false ) )                  --> boolean  
  43. print( type( nil) )                     --> nil  
  44.   
  45. --4.数字,字符串有趣的操作  
  46.   
  47. print"---------4----------------")  
  48. print"10" + 1 )               --> 11,这个结果够雷人,在这里做了算术运算,如果在java中,则是字符串连接操作,结果应该是 101  
  49. print"10" .. 1 )              --> 101,结果是想要的 101,在lua中,是用 .. 做字符串相连操作  
  50.   
  51. hw = "Hello World!"  
  52. print ("/"" .. hw .. "/" length: " .. #hw)  --> "Hello World!" length: 12  
  53.   
  54.   
  55. --5. table 关联数组  
  56.   
  57. print"---------5----------------")  
  58. t1 = {}  
  59. t1["first"] = 2009  
  60. k = "second"  
  61. t1[k] = t1.first + 1  
  62.   
  63. print(t1.first)  
  64. print(t1.second)  
  65.   
  66. -- 用table来实现线性表  
  67. array = {}  
  68. for i=110 do  
  69.     array[i] = i .. "   hong"  
  70. end  
  71.   
  72. for i=1#array do  
  73.     print( array[i] )  
  74. end  
  75.   
  76. -- table 大小  
  77.   
  78. print ("the array size: " .. #array)    --> the array size: 10  
  79. array[2009] = "2009"  
  80. print ("the array size: " .. #array)    --> the array size: 10  
  81. print ("the array size(use table.maxn): " .. table.maxn(array) )    --> the array size(use table.maxn): 2009  
  82.   
  83. --6. 函数式编程  
  84. --在lua中,有着函数式编程的特性,当然了,其他语言中也有,如python, erlang等等,本人觉得,在erlang中,函数式编程更是发扬光大了  
  85.   
  86. print"---------6----------------")  
  87. p = print  
  88. p(" function programming")      --> function programming  

 

阅读(996) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~