lua学习--记录

本文介绍了Lua编程语言的基础知识,包括函数、数值类型、字符串处理、表构造、变量使用和标准库应用。通过示例代码展示了Lua语言的动态类型、字符串操作、数值转换以及表的灵活使用。
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))

在终端中不要进入lua命令模式,直接敲lua D:\lua、hello.lua,即可运行


lua是大小写敏感的,命令行模式:-e 直接将命令传入lua

-l:加载一个文件   -i进入交互模式  _PROMPT(提示)内置变量作为交互模式的提示符 

lua是动态类型语言,变量不需要类型定义。8个类型:nil, boolean,number,string,userdata,function,thread和table

local a = 0.2e4
print(a)     --2000 如果是0.2e5等于20000

string是字节的序列,lua是8位的字节,字符串可以包含任意字符,包嵌入的0,可以存储任意的二进制到string中,字符串不可修改,可以创建一个变量存储这个字符串,自动进行内存分配和释放,一个字符串可以包含一个祖母和一本书。

..是是字符串连接符,当在一个数字后面写..时,必须协商空格以防止被解释出错。

tonumber()  :convert(转化成)number

函数是第一类值,可以存在变量中,可以作为函数的参数和返回值,为了运行不可靠的代码创建安全运行环境而隐藏函数,lua的所有标准库都是有c语言编写的,包括string库,table库,i/o库,os库,算术库,debug库

^是幂,~=是不等于,这些操作都是返回结果都是true和false,如果值相等但是类型不同就不相等。

“0” == 0  --false

“2” < "15"  --false  因为按照字母表的顺序

and和or的结果都不是true和false,他和两个操作数有关

a and b --如果a为false,则返回a,否则返回b

a or b    --如果a为true,则返回a,否则返回b

x = x or v   --如果x为false或者nil则给x


构造表:构造函数可以用任何表达式初始化

a = { x = 0, y = 0 }   --a = {}; a.x = 0;    a.y = 0


!!!

local a = {m = 2,y = 3,n = 4}
a[1] = "wu"
print(a[1])



除了^和..以外所有的二元运算符都是坐连接的



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值