Lua学习笔记一

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

 

--[[ 学习lua,小程序,当作学习而已,程序可能没有什么实际意义 ]] -- 1.Hello world print( "---------1----------------") print("Hello world") --> Hello World -- 2.function define print( "---------2----------------") --[[ function fact(n) if n == 0 then return 1 else return n * fact(n-1) end end print( "enter a number:" ) n = io.read( "*number" ) print( fact( n) ) ]] --[[3.lua 共用8种基本类型,分别是nil, boolean, boolean, number, string userdata, function, thread, table,在条件判断时,nil和 false 为假,其他为真。 使用未定义的变量,不会触发异常,会得到nil值 ]] print( "---------3----------------") print( type( "Hello World") ) --> string print( type( 2009 ) ) --> number print( type( print ) ) --> function print( type( false ) ) --> boolean print( type( nil) ) --> nil --4.数字,字符串有趣的操作 print( "---------4----------------") print( "10" + 1 ) --> 11,这个结果够雷人,在这里做了算术运算,如果在java中,则是字符串连接操作,结果应该是 101 print( "10" .. 1 ) --> 101,结果是想要的 101,在lua中,是用 .. 做字符串相连操作 hw = "Hello World!" print ("/"" .. hw .. "/" length: " .. #hw) --> "Hello World!" length: 12 --5. table 关联数组 print( "---------5----------------") t1 = {} t1["first"] = 2009 k = "second" t1[k] = t1.first + 1 print(t1.first) print(t1.second) -- 用table来实现线性表 array = {} for i=1, 10 do array[i] = i .. " hong" end for i=1, #array do print( array[i] ) end -- table 大小 print ("the array size: " .. #array) --> the array size: 10 array[2009] = "2009" print ("the array size: " .. #array) --> the array size: 10 print ("the array size(use table.maxn): " .. table.maxn(array) ) --> the array size(use table.maxn): 2009 --6. 函数式编程 --在lua中,有着函数式编程的特性,当然了,其他语言中也有,如python, erlang等等,本人觉得,在erlang中,函数式编程更是发扬光大了 print( "---------6----------------") p = print p(" function programming") --> function programming

 

你可能感兴趣的:(thread,编程,function,erlang,table,lua)