查看数据类型

#!/usr/local/bin/lua
print(type("Hello World"))
print(type(10.4*3))
print(type(print))
print(type(true))
print(type(nil))
print(type(type(X)))

string
number
function
boolean
nil 空值
string

字符串操作

转义使用\

字符

说明

\a

响铃

\b

退格

\f

form feed

\n

换行

\r

回车

\t

tab

\v

垂直tab

\\

反斜杠

\”

双引号

\’

单引号

\97 这样来表示ASCII编码

块注释:

page=[[
<html>
<head>
</head>
<body>
</body>
</html>
]]
write(page)

字符串函数

string.len(s) 返回长度
string.lower(s) 小写
string.upper 大写
string.sub(s,i,j) 从s中提取第i到j个字符
示例:string.find

s="hello world"
i,j=string.find(s,"hello")
print(i,j) 返回 1,5 起始索引和结尾索引

string.match 返回目标字符串与模式匹配的那部分子串
string.gsub 将目标字符串中所有出现模式的地方替换为替换字符串
string.gmatch 遍历到查找字符串

a={} 创建表
k=”x”
a[k]=10 有点像字典
a[20]=”greate”
a.x=10 这样也可以使用

for i=1,#a do
print(a[i]) #是获取最后一个索引值,或其大小
end

常用的长度操作符:

print(a[#a]) 打印列表a的最后一个值
a[#a] = nil 删除最后一个值
a[#a+1] = v 列表末尾加一个值

示例:读取一个文件的前10行:

a={}
for i=1,10 do
a[#a+1] = io.read()
end

如果一个数组当中有nil,要获取最大正索引数,需要使用table.maxn

a={}
a[10000]=1
print(table.maxn(a)) 返回10000

函数

基本用法

function add(a)
return 1;
end

返回多个值

function maxium(a)
return 1,2
end
print(maxium({1,2,3,4})) 返回 1 2