Lua的自我学习之路-语法学习3

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/asdfghj253/article/details/80317756

要点一:function

 function fact(n)     --就是方法(函数)!!!!!
	if n==1 then return n;
	else
	    return n*fact(n-1);--加号和减号只能用number类型
	end
  end
--Lua里面方法可以复制
fact2=fact--把fact这个方法赋给fact2

  --函数作为参数传递
function testFun(tab,thefunction)--参数: 一个taable,一个方法
    for k,v in pairs(tab) do
	   thefunction(k,v)
	end
end

tab={key1="val1",key2="val2"}

function function1(k,v)--这个函数可重复调用
   print(k..":"..v);
end

--以下是匿名函数,只能调用一次
testFun(tab,
   function(k,v)
     print(k.."xx"..v)
   end
)

要点二:variable
--局部变量一般访问速度比全局变量快,尽量使用局部变量
a=5--全局变量
local b=10--局部变量

function test()
   c=5--还是全局变量
   local d=6--局部变量
end
test();
  print(c);--返回5
  print(d);--返回nil--局部变量


 
  

--不是方法 (函数) 而是直接执行的代码块
do--凭空的代码块do+end
    local a=10
	b=11
	print(a,b);
end


--多变量同时赋值

a,b=10,20
a,b,c=10,20,"hello"
print(a,b,c) --输出 10 20 hello
a,b=b,a--a,b值互换了 !!!! 直接能互换--lua
print(a,b)   --输出 20 10
a,b=10,20,30 
print(a,b)--会自动忽略多出来的值 输出 10 20


猜你喜欢

转载自blog.csdn.net/asdfghj253/article/details/80317756