helloWorld.lua
print("hello world")
print("hello world".."hhh") --用..来表示连接
print("10"+11) --结果是21 会自动把"10"作为number
function fact(n)
if n ==0 then
return 1
else
return n*fact(n-1)
end
end
print("enter a number")
a = io.read("*number")
print(fact(a))lib.lua
function norm(x,y)
local n2 = x^2+y^2 --[[变量 x^2 x的平方,local 表示局部变量]]
return math.sqrt(n2) --[[调用数学函数的开方]]
end --[[每个函数结束之后需要end]]
function twice(n)
return 2*n
end
function.lua
dofile("lib.lua") --[[调用其他文件加载文件并使用他,类似于exe载入 dll 一样 --]]
n = norm(3.4,1)
print(twice(n))
--[[适用大量注释 ==/* */ --]]
--单行注释
print(b) --nil 未赋值就输出为空
print(type("hello world")); --string type(n) 返回值是string
print(type("11")); --打印string
print("10"+11) --结果是21 会自动把"10"作为number
print(type(10)); --打印number
print(type(print)) --print是函数类型 打印出function
print(type(type)) --type 也是函数
print(type(nil)) --空类型 ==>void
print(type(true)) --boolean类型
print(type(x)) --x没有声明 所以为nil
print(type(type(x))) --type(x) 返回string类型nil type(string)=>string print(string)=strings
print(type(type(nil))) --string
----------------------------------------
print(type(a));
a=10;
print(type(a));
a = "a string";
print(type(a));
a = print; --函数可以直接赋给变量
a(type(a)); --print(type(print))
----------------------------------------
a = "one string";
b= string.gsub(a,"one","other"); --找到子项并替换
print(a);
print(b);
7228

被折叠的 条评论
为什么被折叠?



