Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
四变量交换在Lua中是如何工作的?_Lua - Fatal编程技术网

四变量交换在Lua中是如何工作的?

四变量交换在Lua中是如何工作的?,lua,Lua,您好,我在lua有此活动: 将数据输入4个不同的变量(A、B、C和D)。将A的内容放在C中,C的内容放在B中,B的内容放在D中,D的内容放在A中。显示内容的新顺序。不要丢失原始数据。 但我不知道怎么做 您能帮助我吗?在lua中完成值交换的一个简单方法是使用多个赋值 在多重赋值中,Lua首先计算所有值,然后才执行赋值。因此,我们可以使用多重赋值来交换两个值,如中所示 x, y = y, x -- swap `x' for `y'` 对于您的情况,它将如下所示:

您好,我在lua有此活动: 将数据输入4个不同的变量(A、B、C和D)。将A的内容放在C中,C的内容放在B中,B的内容放在D中,D的内容放在A中。显示内容的新顺序。不要丢失原始数据。 但我不知道怎么做
您能帮助我吗?

在lua中完成值交换的一个简单方法是使用多个赋值

在多重赋值中,Lua首先计算所有值,然后才执行赋值。因此,我们可以使用多重赋值来交换两个值,如中所示

 x, y = y, x                -- swap `x' for `y'`
对于您的情况,它将如下所示:

a, b, c, d = d, c, a, b

您也可以在Lua参考手册中找到类似的信息

:

赋值语句首先计算其所有表达式,然后才执行赋值。因此,代码

    i = 3
    i, a[i] = i+1, 20
将[3]设置为20,而不影响[4],因为[i]中的i在被分配为4之前被求值(到3)。同样,这条线

    x, y = y, x
交换x和y的值,以及

    x, y, z = y, z, x
循环置换x、y和z的值



如果你是lua的新手,这本书是一个很好的资源。我鼓励你读一读,这是一本写得很好的lua指南。

这听起来像是家庭作业。这种练习的全部意义在于你自己思考和研究。要求解决方案违背了任何编程练习的目的。您应该阅读Lua手册,在第3章中找到解决方案。如果你从一开始就开始,阅读和做笔记的时间不到15分钟。