您的位置:首页 > 编程语言 > Lua

houmee实习日记4.16

2015-04-17 00:00 239 查看
摘要: hello lua.....lua学习,程序块,词法规范,全局变量,类型与值table

--[[   块注释,要符合在块的第一行添加一个连字符
print(10)
--]]
---[[
-- print(12)
--]]
--一个全局变量在第一次赋值之前的默认值就是nil
--将nil赋予一个全局变量等同于删除它
-- print(b)
-- b = 10
-- print(b)
-- print(type("hello world"))
-- print(type(10.4*3))
-- print(type(print))
-- print(type(type))
-- print(type(true))
-- print(type(type(x)))
-- --nil boolean number string
-- --userdata function thread table  八种数据类型
-- --变量没有预定义的类型,任何变量都可以包含任何类型的值
-- a = nil
-- print(type(a))
-- a = 10
-- print(type(a))
-- a = "a string!"
-- print(type(a))
-- a = print
-- a(type(a))
-- print(type(a))
-- --boolean
-- --lua将false,nil视为假,其他值视为真(任何值都可以表示一个条件)
-- a = "one string"
-- b = string.gsub(a,"one","another")
-- print(a)
-- print(b)
-- print("one line\n next line\n \"in quotes\",'in quotes' ")
-- print('a backslash inside quotes: \' \\ \' ')
-- print("a simpler way: '\\' ")
--
-- page =
-- --[=[
-- <html>
-- <head>
-- <title>An HTML Page</title>
-- <head/>
-- <body>
-- <a href="http://www.lua.org">Lua</a>
-- </body>
-- </html>
--  ]=]
-- wirte(page)

--字符串自动转换成数字
-- print("10" + 1)
-- print("10 + 1")
-- print("-5.3e-10"*"2")
-- --
-- print(10 .. 20)  -- 字符串链接符 ..
--
-- line = io.read()
-- n = tonumber(line)
-- if n == nil then
--  error(line .. "is not a valid number")
-- else
--     print(n * 2)
-- end

-- print(tostring(10) == "10")
--获得字符串的长度#
-- a = "hello"
-- print(#a)
-- print(#"good\0bye")

--table表
-- a = {}   --创建一个table,并将它的引用存储到a
-- k = "x"
-- a[k] = 10
-- a[20] = "great"
-- print(a["x"])  --10
-- k = 20
-- print(a[k])  --a[20] ,great
-- a["x"] = a["x"] + 1  --递增条目"x"  10+1 = 11
-- print(a["x"])  --10+1 = 11

-- a = {}
-- a["x"] = 100
-- b = a     --b与a引用了同一个table
-- print(b["x"])
-- a = nil   --现在只有b还在引用table
-- b = nil   --没有对table的引用了
-- a = {}
-- --创建1000个新条目
-- for i = 1,1000 do a[i] = i * 2 end
-- print(a[9])
-- a["x"] = 10
-- print(a["x"]) --10
-- print(a["y"]) --nil
--语法糖 a["name"] = a.name
--两种形式对于一个读者来说可能暗示了不同的意图。
--点的写法可能更明确的暗示了读者,将table作为一
--条记录来使用,没条记录都有一组固定的,预定义的key
--而字符串的写法可能暗示了该table会以任何字符串作为
--key,而现在处于某些原因,需要访问某个特定的key
-- a = {}
-- x = "y"
-- print(a[x])
-- print(a.x) --nil
-- print(a.y)

--
--这里相当于创建了下标为1-10的数组,并用io.read()来为
--每个赋值
-- a = {}
-- for i = 1,10 do
-- a[i] = io.read()
-- end
--lua里数组以1为索引的起始值,而不是0
-- for i = 1, #a do
--  print(a[i])
-- end
--等值上面两步
-- a = {}
-- for i = 1,10 do
-- a[#a+1] = io.read()
-- print(a[i])
-- end
--
-- print(a[#a]) --打印表a最后一个值
-- a[#a] = nil  --删除最后一个值
-- a[#a+1] = v  --将v添加到列表末尾
--table.maxn(a),返回一个table的最大正索引数
-- a = {}
-- a[10000] = 1
-- print(table.maxn(a))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息