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

hello 我在 Lua 中有这个任务: 把数据输入4个不同的变量(A、B、C 和 D),并将 A 的内容放入 C 中,将 C 的内容放入 B 中,将 B 的内容放入 D 中,将 D 的内容放入 A 中。显示新的内容顺序。不要丢失原始数据。 但我不知道该如何做 你能帮我吗?

点赞
用户7396148
用户7396148

一个简单的实现在 Lua 中交换值的方法是使用多重赋值。

Programming in Lua:4.1-赋值

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

 x, y = y, x                -- 交换 `x' 和 `y' 的值

对于你的情况,代码看起来应该像这样:

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

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

Lua 参考手册: 3.3.3 – 赋值:

赋值语句首先评估其所有表达式,然后执行分配。因此,代码

    i = 3
    i, a[i] = i+1, 20

将 a[3] 设置为 20,而不会影响 a[4],因为 a[i] 中的 i 评估为 3,然后再分配 4。类似地,行

    x, y = y, x

交换 x 和 y 的值,而

    x, y, z = y, z, x

循环置换 x、y 和 z 的值。


如果你是 Lua 的新手,《Programming in Lua》这本书会是一个非常好的资源,像这样的内容。我鼓励你去阅读它,它是一本非常好的 Lua 指南。

2021-04-29 18:37:00