当前位置: 首页 > news >正文

网站 开发 外包百度爱采购推广一个月多少钱

网站 开发 外包,百度爱采购推广一个月多少钱,wordpress 工作室,个人网站设计模板下载全局与非全局 在lua语言当中没有被local表示的是全局变量 反之则是本地变量(仅仅作用在某个文件,函数,或者代码块) 下面是实例代码和运行结果 --hello.luaA 10;--这样就是全局变量,然后这个编译器如果是大写就是默认的全局变量 local b 3;--这样就是局部变量--reference.…

全局与非全局

在lua语言当中没有被local表示的是全局变量

反之则是本地变量(仅仅作用在某个文件,函数,或者代码块)

下面是实例代码和运行结果

--hello.luaA = 10;--这样就是全局变量,然后这个编译器如果是大写就是默认的全局变量
local b = 3;--这样就是局部变量--reference.luarequire('hello')--这里面的require就相当于Python里面的import或者c++当中的include
print(A);--这个按照原来的脚本打印10
print(b);--这样会打印nil

变量类型

Lua当中没有像我们以前学过的众多语言清晰可见,在Lua当中任何的数值,比如int,long ing,short int 在Lua当中都是用number这个变量来表示的

然后string都是差不多的,具体的实现请参考官方文档

最后就是table类型我个人认为是最具特色的类型,放到后面详细讲解

下面是代码演示:

A = 1.131
B = 200
C = 1.251254121
print(type(A),type(B),type(C))

字符串类型

字符串类型可以通过许多种方式来定义,下面是代码实例:

local a = 'string1'
local b = "string2"
local c = [[
yes \n dsadq
sdaw
]]print(a,b,c)

在Lua当中字符串一旦创建就不可变,如何理解:

str有一个对象是"Hello"

过了几个星期,str玩腻了又想找"World",这个时候str就会和"World"在一起而"Hello"一个人站在原地,所以没有变

local str = "Hello"
str = str .. " World"  -- 拼接字符串,生成一个新的字符串
print(str)  -- 输出: Hello World

此外可以通过"#"的方式查看字符串的长度

S = "456"
print(#S) --返回的值是3

最后就是string.的一些相关函数,其实和其他的语言差不多这里就不多讲解啦

函数

1. 函数的定义

Lua 中的函数可以通过以下方式定义:

  • 普通函数:使用 function 关键字。

  • 匿名函数:使用 function 关键字但不指定函数名。

  • 表方法:将函数作为表的成员。

-- 普通函数
function add(a, b)return a + b
end-- 匿名函数
local multiply = function(a, b)return a * b
end-- 表方法
local mathUtils = {add = add,multiply = multiply
}

2. 函数的调用

  • 函数可以通过函数名加括号的方式调用。

  • 如果函数没有参数,也必须加上括号(除非是单参数且为字符串或表)。

local result1 = add(1, 2)  -- 调用普通函数
local result2 = multiply(3, 4)  -- 调用匿名函数
local result3 = mathUtils.add(5, 6)  -- 调用表方法

3. 函数的参数

  • Lua 函数的参数是按值传递的(对于表、函数等引用类型,传递的是引用)。

  • Lua 函数支持可变参数(Varargs),使用 ... 表示。

function sum(...)local result = 0for i, v in ipairs({...}) doresult = result + vendreturn result
endprint(sum(1, 2, 3, 4))  -- 输出: 10

4. 函数的返回值

  • Lua 函数可以返回多个值。

  • 如果函数没有显式返回值,默认返回 nil

function swap(a, b)return b, a
endlocal x, y = swap(1, 2)
print(x, y)  -- 输出: 2 1

5. 匿名函数与高阶函数

  • Lua 支持匿名函数(Lambda 表达式),可以作为参数传递给其他函数。

  • 高阶函数是指接受函数作为参数或返回函数的函数。

-- 高阶函数
function apply(func, a, b)return func(a, b)
end-- 匿名函数作为参数
local result = apply(function(a, b) return a + b end, 3, 4)
print(result)  -- 输出: 7

6. 闭包(Closure)个人认为非常优雅

  • Lua 支持闭包,即函数可以捕获并访问其外部作用域的变量。

  • 闭包在回调函数、延迟计算等场景中非常有用。

function createCounter()local count = 0return function()count = count + 1return countend
endlocal counter = createCounter()
print(counter())  -- 输出: 1
print(counter())  -- 输出: 2

7. 函数与表

  • 函数可以作为表的成员(方法)。

  • Lua 提供了一种特殊的语法糖 :,用于定义和调用表方法(自动传递 self 参数),在显示项目中经常用到,我感觉和类很像但是不确定,具体的要之后参与实际项目实践看看。

示例
local person = {name = "Alice",greet = function(self)print("Hello, " .. self.name)end
}-- 使用 : 语法糖
function person:shout()print(self.name .. " is shouting!")
endperson:greet()  -- 输出: Hello, Alice
person:shout()  -- 输出: Alice is shouting!

表分为两种,一种全局表,和一种常规表

先说常规的表,就是自己定义的表,在表中可以存放所有的数据结构,函数也可以上面也有提

示例代码:

T = {1,'231515',function (a,b)return a,b;
end}

再就是表的一些相关函数,和其他语言中的链表差不多:

table.insert(T, "d")--默认是在最后一个位置插入的
print(T[4])table.insert(T, 2, "Insert in to")--这个是指定区域插入如果插入就是将后面所有的都向后移动一个
print(T[2])table.remove(T, 2) --移除table表中的一个东西
print(T[2])
--很明显这个时候就不是上面那个了local removed = table.remove(T, 1)--table还可以保存删除后的数据
print(removed)

全局表就是_G,这个表的作用就是将所有的全局变量都放在这个里面,所以我们就可以表里面调用表

U = {a = 1,b = 2,c = '3',e = function ()print("im e")end,['sda.,;'] = '鬼东西'
}print(U.e())--这里注意了,如果是要调用table表中的函数的话就需要添加()才行,不然就是返回它的地址了--除此之外还可以自行添加
U["abc"] = 123
print(U['abc'])--这样是可行的--如果我们定义变量的东西不是字母而是非常诡异的东西,那么我们就可以用[]来包括进去print(U['sda.,;']) --展示好像不能打印UTF-8,奇怪-- _G所有的全局变量都包含在_G里面
print(_G.A)
-- 同理可得,由于我们没有给上面的U这个table变成全局变量,所以他也包含在_G里面
print(_G.U['sda.,;'])

循环和条件语句

if语句和python的更加接近一点

local a = 10
local b = 20
if a > b thenprint("yes")
elseif a == b  thenprint("no")
elseprint(a)
end

while循环:


local i = 0
while true doi = i + 1 -- 注意在Lua里面没有i+=1这种操作if i == 6 thenbreakendprint(i)
end--结果
1
2
3
4
5

for循环:

for i = 1, 10, 1 doprint(i)
end

还有值得注意的一点是在Lua当中0表示的是True

if 0 thenprint('yes')
elseprint('false')
end

总结

到这里八成的Lua代码都可以写了,由于这个学期刚刚在UE项目实习,以后也会分享unlua项目的经验和心得,这次的Lua也是为了后面的做unlua做铺垫 

http://www.ritt.cn/news/9038.html

相关文章:

  • 网站建设需要身份证吗营销网站策划方案
  • 湖北省利川市建设局网站建设网站的基本流程
  • wordpress 注册码seo视频网页入口网站推广
  • 项目网app南通seo
  • 做网站是属火的职业吗网络营销的发展历程
  • 什么网站可以做机票行程单淘宝推广平台有哪些
  • 个人网站怎么做扫码支付晋中网站seo
  • 做旅游网站的工作流程图app开发公司哪家好
  • 宝丰网站建设哪些广告平台留号码
  • 免费下载教学设计的网站seo专业培训技术
  • win2012服务器做网站怎么做自己的网站
  • 微信平台的微网站怎么做的百度地图导航2022最新版下载
  • 广西网站建设营销公司seo公司是什么意思
  • 专业自助建站网络营销软文范例大全800
  • 亳州企业网站建设怎么开网店
  • 北京建设部幼儿园网站搜狗搜索引擎优化指南
  • 湛江全套网站建设费用杭州seo排名优化外包
  • 国网商旅云网站地址国家高新技术企业
  • 什么是境外电商?关键词优化快排
  • 企业网站制作公司推荐文章优化关键词排名
  • 平面构成作品网站网络营销的四大特点
  • 微官网怎么进入汕头seo外包机构
  • wordpress免费公司官网主题网站标题算关键词优化吗
  • 搜狗怎么做网站张北网站seo
  • 网站必须做ssl认证搜索引擎seo优化平台
  • 从美洲开始做皇帝免费阅读网站沈阳专业seo关键词优化
  • 小程序电商平台需要什么资质百度刷排名seo软件
  • 如何建立公司网站南通发布友情链接
  • 江安县建设招标网站网站百度推广
  • 免费自助建站快速自助建站推广代理平台