LUA-赋值语句

摘要:
赋值是改变一个变量的值和改变表域的最基本的方法。a="hello".."world"t.n=t.n+1Lua可以对多个变量同时赋值,变量列表和值列表的各个元素用逗号分开,赋值语句右边的值会依次赋给左边的变量。a,b,c=0,0,0print--˃000多值赋值经常用来交换变量,或将函数调用返回给变量:a,b=f()f()返回两个值,第一个赋给a,第二个赋给b。

赋值是改变一个变量的值和改变表域的最基本的方法。

a = "hello" .. "world"

t.n = t.n + 1

Lua可以对多个变量同时赋值,变量列表和值列表的各个元素用逗号分开,赋值语句右边的值会依次赋给左边的变量。

a, b = 10, 2*x <--> a=10; b=2*x

遇到赋值语句Lua会先计算右边所有的值然后再执行赋值操作,所以我们可以这样进行交换变量的值:

x, y = y, x -- swap 'x' for 'y'

a[i], a[j] = a[j], a[i] -- swap 'a[i]' for 'a[i]'

当变量个数和值的个数不一致时,Lua会一直以变量个数为基础采取以下策略:

a. 变量个数 > 值的个数 按变量个数补足nil

b. 变量个数 < 值的个数 多余的值会被忽略

例如:

a, b, c = 0, 1

print(a,b,c) --> 0 1 nil

a, b = a+1, b+1, b+2 -- value of b+2 is ignored

print(a,b) --> 1 2

a, b, c = 0

print(a,b,c) --> 0 nil nil

上面最后一个例子是一个常见的错误情况,注意:如果要对多个变量赋值必须依次对每个变量赋值。

a, b, c = 0, 0, 0

print(a,b,c) --> 0 0 0

多值赋值经常用来交换变量,或将函数调用返回给变量:

a, b = f()

f()返回两个值,第一个赋给a,第二个赋给b。

免责声明:文章转载自《LUA-赋值语句》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Java中equals方法null造成空指针异常的原因及解决方案SVN回滚版本下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

在lua的string库和正则表达式

一.前提要了解一下lua 的string几个方法 1. string库中所有的字符索引从前往后是1,2,...;从后往前是-1,-2,... 2. string库中所有的function都不会直接操作字符串,而是返回一个结果 string.len(s):返回字符串的长度. string.lower(s):变小写. string.upper(s):变大写....

lua 的io操作,非常详细

Lua 标准库 - 输入输出处理(input and output facilities) I/O库提供两种不同的方式进行文件处理 1、io表调用方式:使用io表,io.open将返回指定文件的描述,并且所有的操作将围绕这个文件描述 io表同样提供三种预定义的文件描述io.stdin,io.stdout,io.stderr 2、文件句柄直接调用方式,即使用...

XLua热更新用法全流程总结(所有容易出问题的点)

Xlua热更新流程总结 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar —— 心分享、心创新!记录 Xlua 完成热更新流程为新手节省宝贵的时间,避免采坑! Chinar 教程效果: 1 Description —— 描述...

Cocos2d-x Lua 阅读Csv文件,使用数据更方便

在我的书或出售之前,我的源代码,有Csvshadow文件。 也许这是偏见。我与工作将是最长的轮廓Csv,所以,我会帮助不大喜欢它的游戏。 Csv文件,非常格式easy,也就是说,一个数据线,字段之间用逗号分隔,策划也能够方便地使用Excel进行编辑。 Csv格式的文件。解析起来也非常easy,所以自己动手写写非常快~(小若:我就喜欢拿来主义,你怎么着)...

vscode调试openresty

一、快速上手 1、软件下载   官网地址:https://code.visualstudio.com/   安装视频:https://code.visualstudio.com/docs/getstarted/introvideos 2、配置插件   插件安装:https://blog.csdn.net/qq_38161040/article/detail...

[记录点滴] OpenResty中Redis操作总结

[记录点滴] OpenResty中Redis操作总结 0x00 摘要 本文总结了在OpenResty中的操作,与大家分享,涉及知识点为Openresty, Lua, Redis。 0x01 操作记录 操作使用 db.redis.redis_iresty。 1.1 初始化 & 基础函数 set $redis_host 127.0.0.1; -- I...