问题标签 [multiple-assignment]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
11 回答
50234 浏览

python - Python中的多重赋值和求值顺序

以下 Python 表达式有什么区别:

First给出的结果与Second不同。

例如,

第一的:

第二:

y在First中为 3,在Second中为 4

0 投票
3 回答
339 浏览

javascript - 多重赋值混淆

我知道赋值运算符是右结合的。

所以例如 x = y = z = 2相当于(x = (y = (z = 2)))

既然如此,我尝试了以下方法:

我希望该对象foo将使用值创建{a:1},然后x将创建该属性,该属性将foo只是对该foo对象的引用。

(如果我将多个赋值语句分成两个单独的语句,实际上会发生这种情况foo = {a:1};foo.x = foo;

结果实际上是:

ReferenceError: foo 未定义(…)

所以我尝试了以下方法:

现在我不再得到异常但foo.x未定义!

为什么作业没有按我的预期工作?


免责声明:“重复”问题似乎与我要问的问题非常不同,因为问题在于分配中创建的变量是全局的,与使用var关键字创建的变量相反。这不是这里的问题。

0 投票
3 回答
877 浏览

python - Python3多重赋值和内存地址

在阅读了与我的问题非常相似的thisthis之后,我仍然无法理解以下行为:

打印时id(a)id(b)我可以看到在单独的行中分配了值的变量具有不同的 id,而对于多个赋值,两个值具有相同的 id:

但是不可能通过说多次赋值相同的值总是创建指向相同 id 的指针来解释这种行为,因为:

是否有明确的规则来解释变量何时相同id,何时不同?

编辑

相关信息:这个问题中的代码是在交互模式下运行的(ipython3)

0 投票
1 回答
3900 浏览

python - 一行中的多个赋值for循环python

我想要一种在 for 循环中将两个变量分配给两个不同值的单行方式。

我有一个值列表

我试过这样做,它可以工作但不是pythony:

这使得:

想写一些类似的东西:

这样的事情可能吗?

0 投票
0 回答
87 浏览

multithreading - 使用三个比较和设置对象的多个 2 线程 3 分配

我正在阅读“多处理器编程的艺术”一书,并被困在某个问题上。可以在此处找到问题以及建议的解决方案(问题 71)

我的问题是他们的解决方案对我来说似乎不正确。当线程调用 assign 方法时,Assign23 对象必须能够设置 3 个值中的 2 个,并且结果必须具有 2 的一致性。

换句话说,如果线程 A 和线程 B 调用 assign,都想写入 r[0] 和 r[1],A 设法将其值写入 r[0] 并将 B 写入 r[1],那么我们有一个违法的情况。线程 A 认为它设置了它的两个值,B 也是如此,而实际上两者都没有实现它们的目标。我是否误解了他们的解决方案?

你有更好的选择吗?我似乎无法想出适用于所有情况的东西。

0 投票
1 回答
1442 浏览

arrays - PowerShell 的特殊数组头/尾分配记录在哪里?

我只是注意到这是有效的 PowerShell 代码:

该语句将数组中的第一项放入,$first其余项放入$rest.

它甚至适用于任意数量的变量,将当前头部推入下一个变量,将尾部推入最后一个变量。你可以自己试试。

$null如果没有足够的正面或反面来放入其中一个变量,它似乎会分配一个值。即使在$rest(我宁愿看到一个空数组,但无论如何)的情况下。

问题,也是我的问题,是我在任何地方都没有看到这个记录!我试图找出何时支持此功能。具体是如何实现的。如果它适用于任何其他类型。

我检查了about_Assignment,about_Arraysabout_Splatting, 没有任何运气。

0 投票
3 回答
17824 浏览

javascript - 如何在 JavaScript 中一次分配多个变量?

有没有办法像这样在 JavaScript 中执行多重赋值:

这相当于:

0 投票
1 回答
62 浏览

lua - Lua数字模式匹配未捕获

我正在尝试匹配Sword2在以下字符串中。

你会收到战利品 [剑] x2。

这是我到目前为止所做的。Sword 匹配良好并保存在 item 变量中。但是,无论输入字符串如何,qty 始终返回“No qty”。

0 投票
1 回答
588 浏览

python - 方法中的多重赋值导致 TypeError:Int 在 Python 中不可迭代

我遇到了一个基本问题,它输出用于达到在方法调用时输入的总和的硬币类型的数量。

虽然我可以通过其他方式做到这一点,但我想创建一个方法并想使用多个分配。

除法应该得到 2 个输入,并且应该返回除法和剩余的原始值。

主函数如下,它调用divide函数,发送硬币和值作为参数,以获得要更新的硬币数量和初始值。

当硬币输出被计算为正整数时,这很好用。(如输入 8 将输出(1,1,1))但如果一个或多个硬币计算为 0(如发送 5,则输出应为(1,0,0))但它给出以下错误:

twos, x = divide(2, x) TypeError: 'int' object is not iterable

我没有使用任何迭代(至少不是故意的)。为什么我有这个错误?如果值小于硬币,则除法应该返回 0 不是正确的吗?

0 投票
2 回答
44 浏览

python - 将函数的多个返回分配给列表中实例的属性

我有一个类实例 Child 的列表,我想使用从函数返回的玩具列表来修改每个孩子的玩具属性

下面有一个可行的解决方案,但我想知道是否有单线?

输出(随机玩具分配):

我试过了:

但这不起作用,我明白了

有任何想法吗?