lua语法基础
2019-5-9 11:37:8
收藏:0
阅读:1483
评论:0
Lua 语法基础
基本数据类型
基本类型
- nil
- string
- number
- boolean
- function
- table
注. table是一种混合类型
运行下述代码
```#!/usr/bin/env lua
--[[
Lua 入门,2019之江学院公选课
精彩不断
--]]
count = 0
function sepline(title)
count = count + 1
print(string.format("------Section %d. %s------", count, title))
end
sepline('常量')
print 'true/false'
x = 19990318 -- 我把生日告诉lua的变量 x
print(x) -- lua 帮我打印了它
print "19990318" -- 字符串
print "生日快乐"
print(199999)
x = "生日快乐"
print(x)
print "我是字符串" --嵌套
print '"我是双引号字符串,我美吗?"'
print "笔停,铃响\n一张试卷卷走了三年的时光\n谁回头问我,今天考完了,还要回班么?"
print [[
《家书》
上学路上拾起一片法国梧桐
却不经意翻译出它泛黄的脉络
秋凉,添衣,勿念,速归
]]
print [[从明天起,做一个幸福的人
喂马,劈柴,周游世界
从明天起,关心粮食和蔬菜
我有一所房子,面朝大海,春暖花开
从明天起,和每一个亲人通信
告诉他们我的幸福
那幸福的闪电告诉我的
我将告诉每一个人
给每一条河每一座山取一个温暖的名字
陌生人,我也为你祝福
愿你有一个灿烂的前程
愿你有情人终成眷属
愿你在尘世获得幸福
我只愿面朝大海,春暖花开]]
sepline('变量')
print(x)
print [[
x=1
_x='x=1'
_123='_123'
]]
sepline('类型')
print [[
nil
bool
number
string
function
table
]]
表
简介
Lua的表是一种键值对,相当于C/C++语言中的结构体,Java中的Hash表
代码示例
x = [[
%s:
你好。
你为我付出了很多很多,头发也白了,满脸的皱纹。好衣服也舍不得买,剩下钱供我考大学。
我不会不负你的。我发誓考上清华北大,报答你的养育之恩。
你的孩子 %s
]]
x = string.format(x, "妈妈", "王境泽")
x = {1, 2, 3} -- C语言,数组
x = {[1]=1, [2]=2, [3]=3} -- 表
-- 表
x = {
name = '王境泽',
code = 'zhenxiang',
number = '11111111'
}
x = {
name = '之江帅哥',
code = 'xxxxx',
number = 111111333
}
t = [[
-*- 之江论坛 -*-
姓名: %s
学号: %s
^_^
]]
xx = string.format(t, x['name'], x['number'])
print(xx)
循环结构
#!/usr/bin/env lua
-- 九九乘法表
-- 知识点:字符串格式化
for k=1,9
do
for j=1,k
do
print(string.format('%d X %d = %d', k, j, k*j))
end
end
-- 九九乘法表
-- 知识点:字符串操作
-- 操作符:..
for k=1,9
do
row = ''
for j=1,k
do
row = row .. string.format('%d X %d = %d', k, j, k*j)
end
print(row)
end
-- 九九乘法表
-- 知识点:表操作
-- 函数: table.concat
for k=1,9
do
row = {}
for j=1,k
do
row[j] = string.format('%d X %d = %d', k, j, k*j)
end
print(table.concat(row,', '))
end
函数
function comment(x)
-- body
end
comment [[
很美观的多行注释
喜欢的话,多多关注
666666
233333
]]
comment [[
函数定义、高阶函数、递归函数、匿名函数
]]
comment '关键字、定义语法'
function plus1(x)
-- 函数的定义
-- 加1
return x+1
end
function poly(x)
-- 二次函数/多项式
print(string.format("%d^2+1=%d",x,x^2+1))
return x^2+1
end
y = poly(3) -- 函数的调用
print(y)
print '今天,去吃鸡吗'
function foo(x, reply, s1, s2)
-- 四个参数
if x == reply
then
print(s1)
else
print(s2)
end
end
x = '不'
foo(x, '是', '???', '???') --version 1
x = '是'
foo(x, '是', ':):);)', ';(;(;-(') --version 2
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
- 如何编写 Lua 模式将字符串(嵌套数组)转换为真正的数组?
- 如何创建一个 lua 脚本以针对特定键为 fluentbit 进行限流
- 如何在Lua中将变量从Lua推送到C ++
- 使用LUA/perl将Nginx重写查询参数值转换为小写字母
- 在 Roblox 中,我正在尝试让当你使用接近提示时,一个图像标签变得可见并在重新加入时仍然可见
- 处理多个有序数据存储请求