lua 第4天 值与类型

C:\Users\Administrator>lua

Lua 5.1.4  Copyright (C) 1994-2008 Lua.org, PUC-Rio

> print(type("a"))

string

> print(type(3/4))

number

> print(type(3.4))

number

> print(type(print))

function

> print(type(io))

table

> a=print

> a("4")

4

> a(type(a))

function

Lua里 居然可以把函数赋值给变量 - -

> print(type(aa))

Nil

未初始化定义的值位nil

 

Nil 适合用在异常

Lua  false nil 为假 其他都为真

 

> a=54

> b=3.2e2  3.2*102次方

> print(b)

320

 

字符串

 

Lua 中的字符串是不可以变得 不能像c一样直接修改里面的某一个字符

只能通过新的变量才行

> a="one string"

> b=string.gsub(a,"on","an")  a里的 on 替换成 an

> =b

ane string

>

 

 

定义字符串和转义

> a='hello'

> =a

hello

> c="i'm a erhuo"

> =c

i'm a erhuo

> c="i\"m erhuo"

> =c

i"m erhuo

>

> ="\065 = A"  --assic

A = A

 

Lua 里的转移序列

\a

\b 退格

\f 提供表格

\n 换行

\’

\”

\r 回车

\\ 输出反斜杠

\t 制表符

> page=[[

>> <html>

>> <body>

>> </body>

>> </html>

>> ]]

> =page

<html>

<body>

</body>

</html>

 

//计算时会自动转义

> print("10"+2)

12

//拼接字符串用..

> ="A".."=".."B"

A=B

#获取字符串长度

 

> print(#"hello")

5

 

Table

 

> a={}

> a["x"]=10

> b=a

> print(b)

table: 00C592F0

> print(b["x"])

10

> =b["x"]

10

清楚后就不存在了

 

> a=nil

> =a

nil

> =a["x"]

stdin:1: attempt to index global 'a' (a nil value)

stack traceback:

        stdin:1: in main chunk

        [C]: ?

>

 

 

Lua 索引是从1开始

 

> t={}

> for i=1,1000 do t[i]=i*2 end

> =t[9]

18

> t["x"]=10

> =t["x"]

10

> t[1]="a"

> =t[1]

a

> =t[2]

4

>

删除

> t["x"]=nil

> =t["x"]

Nil

a={}

a[“name”]  a.name 一样

a[“x”]  a[x] 不一样

 输出最大索引

> print(#t)

1000

定义数组

> for i=1,100

>> do

>> t[i]=i+1

>> end

> =t[10]

11

 

循环打印

> for i=1,#t

>> do

>> print(t[i])

>> end

 

打印数组里最后一个值

>

> print(t[#t])

2000

删除最后一个值

t[#t] = nil

删除后最后一个值 会自动减少

> print(t[#t])

2000

> t[#t]=nil

> print(t[#t])

1998

> print([#t])

stdin:1: unexpected symbol near '['

> print(#t)

999

追加索引

> print(#t)

999

> t[#t+1]=3000

> print(#t)

1000

> print([#t])

stdin:1: unexpected symbol near '['

> print(t[#t])

3000

> t[#t+1]=3001

> print(t[#t])

3001

强转类型再输出

> i=10;j="10";k="+10"

> a={}

> a[i]="one"

> a[j]="two"

> a[k]="three"

> print(a[j])

two

> print(a[k])

three

> print(a[i])

one

> print(a[tonumber(k)])

one

> print(a[tonumber(j)])

one

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值