lua学习笔记

-- print
print('hello world')
-- if
x=1;
if x==2 then
	print("11 "..x);
elseif x==3 then
	print("12 "..x);
else
	print("13 "..x);
end
-- while
while x<10 do
	x=x+1;
	print("2 "..x);
end
-- for
for i =1,10,1 do
	print('3 '..i);
end
-- repeat
local i=11;
repeat
	print('4 '..i);
	i=i+1;
until(i>10)
-- or
if x==10 or i==11 then 
	print('5 '..x..i);
end
-- and
if x==10 and i==12 then 
	print('5 '..x..i);
end
-- not
if not(i==13) then 
	print('5 '..x..i);
end
-- function
function print2(str,str2)
	local time=os.time();
	return time..str..str2,'hi';
end
s,t=print2('cj','gjl');
print('6 '..s..t..'\n');
-- 运算符
print(20+3)
print(20-3)
print(20*3)
print(20/3)
print(20/3%1)
print(20/3-20/3%1)
print(20^3)
print(20%3)
print(20>3)
print(20>=3)
print(20==3)
print(20<3)
print(20<=3)
print(20~=3) -- 不等于
print(#'hello world!') -- 长度
-- 字符串
print('aaa\nbbb\rccc\tddd\\\'\"');
print(string.upper('Abc'))
print(string.lower('Abc'))
print(string.gsub('Abc','bc','d'))
print(string.find('Abc','bc'))
print(string.reverse('Abc'))
print(string.len('Abc'))
--%d十进制
--%x十六进制小写字母
--%X十六进制大写字母
--%f浮点
--%s字符串
print(string.format("Abc %d %x %X %f %s",1,32,128,3.14,'cj'))
-- 数组table迭代器
a1={
     1,3,5,9}
a2={
     {
     3,5},{
     8,0}}
print(a1,a2,'\n',a1[1],a2[1][1])
for a,b in pairs(a2) do
	for c,d in pairs(b) do
		print(c,d)
	end
end
a3={
     
	'aaa',
	ccc='ddd',
	'bbb',
	xyz=function()
		print('cj2gjl')
	end
}
a3.eee='fff'
for k,v in pairs(a3) do
	print(k,v)
end
print(a3[1])
print(a3.ccc)
print(a3[2])--第二个无key的val
print(a3.eee)
print(a3.xyz())
-- 总结
-- table的参数可以在定义之外追加
-- table的val可以是任意类型(包括函数)
-- table不设key那就是数组,可视为key是数字
-- table自设key那就是字典,key必须要是str

你可能感兴趣的:(2021年研究生学习笔记)