当前位置:网站首页>lua入门案例实战123DIY
lua入门案例实战123DIY
2022-07-31 22:50:00 【海宝7号】
代码及如下
– Example 7 – Keywords.
– Lua reserved words are: and, break, do, else, elseif,
– end, false, for, function, if, in, local, nil, not, or,
– repeat, return, then, true, until, while.
– Keywords cannot be used for variable names,
– ‘and’ is a keyword, but AND is not, so it is a legal variable name.
AND=3
print(AND)
-------- Output ------
3
Press 'Enter' key for next example
– Example 8 – Strings.
a=“single ‘quoted’ string and double “quoted” string inside”
b=‘single ‘quoted’ string and double “quoted” string inside’
c= [[ multiple line
with ‘single’
and “double” quoted strings inside.]]
print(a)
print(b)
print
-------- Output ------
single ‘quoted’ string and double “quoted” string inside
single ‘quoted’ string and double “quoted” string inside
multiple line
with ‘single’
and “double” quoted strings inside.
Press 'Enter' key for next example
– Example 9 – Assignments.
– Multiple assignments are valid.
– var1,var2=var3,var4
a,b,c,d,e = 1, 2, “three”, “four”, 5
print(a,b,c,d,e)
-------- Output ------
1 2 three four 5
Press ‘Enter’ key for next example
– Example 10 – More Assignments.
– Multiple assignments allows one line to swap two variables.
print(a,b)
a,b=b,a
print(a,b)
-------- Output ------
1 2
2 1
Press ‘Enter’ key for next example
– Example 11 – Numbers.
– Multiple assignment showing different number formats.
– Two dots (…) are used to concatenate strings (or a
– string and a number).
a,b,c,d,e = 1, 1.123, 1E9, -123, .0008
print(“a=”…a, “b=”…b, “c=”…c, “d=”…d, “e=”…e)
-------- Output ------
a=1 b=1.123 c=1000000000 d=-123 e=0.0008
Press ‘Enter’ key for next example
– Example 12 – More Output.
– More writing output.
print “Hello from Lua!”
print(“Hello from Lua!”)
-------- Output ------
Hello from Lua!
Hello from Lua!
Press ‘Enter’ key for next example
– Example 13 – More Output.
– io.write writes to stdout but without new line.
io.write(“Hello from Lua!”)
io.write(“Hello from Lua!”)
– Use an empty print to write a single new line.
print()
-------- Output ------
Hello from Lua!Hello from Lua!
Press ‘Enter’ key for next example
– Example 14 – Tables.
– Simple table creation.
a={} – {} creates an empty table
b={1,2,3} – creates a table containing numbers 1,2,3
c={“a”,“b”,“c”} – creates a table containing strings a,b,c
print(a,b,c) – tables don’t print directly, we’ll get back to this!!
-------- Output ------
table: 00BB6AE0 table: 00BB6BF8 table: 00BB6C20
Press ‘Enter’ key for next example
– Example 15 – More Tables.
– Associate index style.
address={} – empty address
address.Street=“Wyman Street”
address.StreetNumber=360
address.AptNumber=“2a”
address.City=“Watertown”
address.State=“Vermont”
address.Country=“USA”
print(address.StreetNumber, address[“AptNumber”])
-------- Output ------
360 2a
Press ‘Enter’ key for next example
– Example 17 – if else statement.
b=“happy”
if b==“sad” then
print(“b is sad”)
else
print(“b is not sad”)
end
-------- Output ------
b is not sad
Press ‘Enter’ key for next example
– Example 18 – if elseif else statement
c=3
if c1 then
print(“c is 1”)
elseif c2 then
print(“c is 2”)
else
print("c isn’t 1 or 2, c is "…tostring)
end
-------- Output ------
c isn’t 1 or 2, c is 3
Press ‘Enter’ key for next example
– Example 19 – Conditional assignment.
– value = test and x or y
a=1
b=(a==1) and “one” or “not one”
print(b)
– is equivalent to
a=1
if a==1 then
b = “one”
else
b = “not one”
end
print(b)
-------- Output ------
one
one
Press ‘Enter’ key for next example
– Example 20 – while statement.
a=1
while a~=5 do – Lua uses ~= to mean not equal
a=a+1
io.write(a…" ")
end
-------- Output ------
2 3 4 5
Press ‘Enter’ key for next example
– Example 21 – repeat until statement.
a=0
repeat
a=a+1
print(a)
until a==5
-------- Output ------
1
2
3
4
5
Press ‘Enter’ key for next example
– Example 22 – for statement.
– Numeric iteration form.
– Count from 1 to 4 by 1.
for a=1,4 do io.write(a) end
print()
– Count from 1 to 6 by 3.
for a=1,6,3 do io.write(a) end
-------- Output ------
1234
14
Press ‘Enter’ key for next example
– Example 23 – More for statement.
– Sequential iteration form.
for key,value in pairs({1,2,3,4}) do print(key, value) end
-------- Output ------
1 1
2 2
3 3
4 4
Press ‘Enter’ key for next example
– Example 24 – Printing tables.
– Simple way to print tables.
a={1,2,3,4,“five”,“elephant”, “mouse”}
for i,v in pairs(a) do print(i,v) end
-------- Output ------
1 1
2 2
3 3
4 4
5 five
6 elephant
7 mouse
Press ‘Enter’ key for next example
– Example 25 – break statement.
– break is used to exit a loop.
a=0
while true do
a=a+1
if a==10 then
break
end
end
print(a)
-------- Output ------
10
Press ‘Enter’ key for next example
边栏推荐
- #yyds干货盘点# 面试必刷TOP101:链表中环的入口结点
- A high-quality WordPress download site template theme developed abroad
- SQL27 View user details of different age groups
- Unity - by casting and cloning method dynamic control under various UGUI create and display
- Unity - LineRenderer show a line
- "SDOI2016" Journey Problem Solution
- 逐步手撕轮播图3(保姆级教程)
- 如何导入 Golang 外部包并使用它?
- [QNX Hypervisor 2.2用户手册]9.15 suppress
- A few permanent free network transmission, convenient and simple (Intranet through tutorials)
猜你喜欢
Shell common scripts: Nexus batch upload local warehouse enhanced version script (strongly recommended)
一文带你了解 Grafana 最新开源项目 Mimir 的前世今生
I don't know what to do with sync issues
网易云信圈组上线实时互动频道,「破冰」弱关系社交
Go1.18 upgrade function - Fuzz test from scratch in Go language
Handwritten a simple web server (B/S architecture)
Unity - LineRenderer show a line
Write a database document management tool based on WPF repeating the wheel (1)
Binary tree non-recursive traversal
网络安全--通过握手包破解WiFi(详细教程)
随机推荐
面试突击69:TCP 可靠吗?为什么?
日常--Kali开启SSH(详细教程)
cas and spin locks (is lightweight locks spin locks)
VOT2021比赛简介
编译型语言和解释型语言的区别
如何减少软件设计和实现之间鸿沟
Shell common scripts: Nexus batch upload local warehouse enhanced version script (strongly recommended)
消息队列存储消息数据的MySQL表格
Flutter教程之 02 Flutter 桌面程序开发入门教程运行hello world (教程含源码)
Flutter教程之 01配置环境并运行demo程序 (教程含源码)
A solution to the server encountered an internal error that prevented it from fulfilling this request [easy to understand]
Shell常用脚本:Nexus批量上传本地仓库增强版脚本(强烈推荐)
#yyds干货盘点# 面试必刷TOP101:链表中环的入口结点
@JsonFormat(pattern="yyyy-MM-dd") time difference problem
Istio introduction
Chapter Six
Pytest first experience
【FPGA教程案例43】图像案例3——通过verilog实现图像sobel边缘提取,通过MATLAB进行辅助验证
二叉树非递归遍历
Handwritten a simple web server (B/S architecture)