2013-02-24 16:10:07| 分类: lua | 标签:lua lua入门 lua教程 lua学习笔记 |字号 订阅
1、lua支持以下几种变量类型 print(type("string")) string print(type(10)) number print(type(print)) function print(type(true)) boolean print(type({})) table print(type(nil)) nil2、lua变量是弱类型的,赋值什么类型,就是什么类型 3、nil 在lua里nil表示null,对于定义一个变量未赋值则是nil,对于想要删除一个变量,则将此变量赋值为nil即可 4、布尔值 lua将nil和false视为假,其他都是真,所以数字0和空字符串也为真 5、数字 lua的数字没有整形,都是浮点型 6、字符串 不能像C那样直接修改字符串的某一个位置的值,而是需要创建一个新的字符串 例如: a = "one string" b = string.gsub(a,"one","another") print(a) -- one string print(b) -- another string 注意:--表示lua的注释,lua用--[[ --]] 来表示注释块 在lua中 *** 作100k或1mb的字符串是很常见的事情,可以使用单引号或者双引号来表示lua字符串 lua还提供了字符串和数字自动转换 print("10"+1) -- 11 print(10+1") -- "10+1" print("-5.3e-10"*"2") -- -1.06e-09 print("hello"+1) -- 错误不能转换 7、..是lua中字符串连接 *** 作符,当你直接在一个数字后面使用它时,必须加上空格,否则会理解为一个点 8、字符串和数字互相转换 tonumber() tostring() 同样也可以使用 数字加上空字符串来强制转换字符串,例如 10 .. '' 使用 -0 来强制转换数字 “10” - 0 9、获取字符串长度,在字符串前加上#号 10、表-table 在lua中使用{}来表示一个表,即对象 a = {} k = "x" a[k] = 0; -- key 为 “x”,值为0 a[20] = "great" -- key为20,值为great print(a["x"]) -- 10 k=20 print(a[k]) -- great 具体用法和其他动态语言无异 11、lua中table的赋值是引用赋值 12、循环 a={} for i=1,1000 do a[i] = i*2 end 13、返回talbe最后一个key值可以用# 例如返回上面的a的最后一个key也就a的长度 print(#a) 14、lua习惯使用1开始数组第一个而不是0,因为#一般返回最后一个的key所以作为数组的长度,table.getn()也返回一样的结果。 15、table.maxn返回一个table的最大正索引 16、注意10,“10”和“+10”这3个表示不同的key,也就是可以再table中保存不同的数据,尽量避免这样存储他们 17、函数可以存储在变量中,可以作为参数传递 18、lua可以调用c语言编写的函数 19、lua中的算术表达式^表示取指数 比如 a = 3 a^3表示3的3次方,为27 20、x - x%0.01表示精确到小数点后两位的结果,其他依次类推 21、使用 ~= 来表示不等于 23、与,或,非表示and,or,not 22、x = x or v 等价于 if not x then x = v 23、类似于C语言的三元运算符: c语言:max = a>b ? a : b lua: max = (x>y) and x or y 24、 *** 作符not永远只返回true或者false,not nil 返回true 25、优先级: ^ not,#,-(一元) *,/,% +,- .. <,>,<=,>=,~=,== and or 26、talbe构造式: days={"one","two","three"} 则表示 days[1] = "one" days[2] = " two " days[3] = " three "
27、table构造式2: a = {x=1,y=2} 等价于 a={} a.x = 1 a.y = 2 28、table写出链表代码: List=nil for line in io.lines() do List = {next = List,value = line} end 然后我们可以这样读取每行的内容 local l = List while l do print(l.value) l=l.next 29、还可以混合存储key和数组例如下面,利用分号隔开 a={a=1;2,3} print(a.a) --1 print(a[1]) --2 总结
以上是内存溢出为你收集整理的lua程序设计(1) - 数据类型和 *** 作符全部内容,希望文章能够帮你解决lua程序设计(1) - 数据类型和 *** 作符所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)