问题标签 [parallel-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 投票
3 回答
4924 浏览

ruby - Swapping array elements using parallel assignment

Intrigued by this question, I have played a bit with parallel assignment with arrays and method calls. So here's an paradigmatic example, trying to swap two members in an array, by their value:

The array hasn't changed. But if we change the order of arguments, it works:

I guess it has to do with the order of calling the index methods within the assignment, but not see it clearly. Can someone please explain the order of things underneath, and why the first example doesn't swap the member, and second does?

0 投票
1 回答
144 浏览

ruby - ruby 中的并行分配对于两个等效的代码片段的工作方式不同

下面的两个代码片段应该打印相同的东西,但它们没有。


第一个打印:

第二个:

他们不应该打印同样的东西吗?他们似乎和我一样。

(使用 Mac OSX 10.6.7 和 ruby​​ 1.9.2-p180)

0 投票
2 回答
322 浏览

ruby - Ruby:具有并发循环的哈希分配

假设我有一个数组:

我还有另一个字符串数组:

我有一个 8 x 8 二维数组,由 nil 或 Checker 对象组成的板位置(@board)。

我的目标是创建一个这样的哈希:

我有以下代码:

然后是测试:

失败,因为所有分配都属于“Checker”类,结果它们都是相同的“Checker”对象。我知道它这样做是因为循环是嵌套的,所以所有的“四”键都被初始化到最后一个板位置。

有没有一种方法可以在一次传递中将值分配给具有“数组”中的值的键,以便正确分配它们?这个问题还有意义吗?

0 投票
2 回答
684 浏览

ruby - 红宝石平衡指数 - 注入的奇怪用法

我今天花了一些时间来解决均衡指数问题(在此处描述)

在编写了我自己的解决方案(它在大数字时表现不佳)后,我决定找到一个完美的分数。我发现了这个(其中 Codility 得分为 100/100):

我不明白的是方法顶部的并行分配和注入的使用。有谁能够描述这是在做什么?

非常感谢!斯图

0 投票
4 回答
341 浏览

ruby - 为什么单个空数组的并行分配会分配多个 nil?

我想将一个空数组分配给多个变量。这是我正在做的事情:

它给了我nil。我想知道为什么?但如果我这样做:

然后它按我的预期工作,但它比第一个长一点。第一个例子有什么问题?

0 投票
2 回答
8325 浏览

swift - swift: if-let 并行赋值

我正在尝试制作一个具有多个值的简单 if-let 语句。if仅当所有可选 var 都非 nil 时才应执行该块,并且应将它们分配给仅存在于该if块内的新 let-var(常量?),就像普通的单赋值 if-let 一样。

这甚至可能吗?如果不是(我猜),您认为 Apple 将来会(或应该)实现这一点吗?

0 投票
1 回答
99 浏览

ruby - 带括号和 splat 运算符的并行赋值

我懂了:

我想知道为什么z有值nil

0 投票
2 回答
3897 浏览

arrays - 重新分配数组元素:语法 (Ruby)

我现在正在学习 Ruby 中的并行赋值运算符。当我尝试使用它来交换数组中的值时,我得到了意想不到的结果。无法在网上找到答案,希望有人能阐明这里发生的事情。

第一个例子:

array[0] 去哪儿了,为什么 Ruby 不交换这些值?

第二个例子:

为什么 Ruby 将右侧插入数组而不替换值?

0 投票
1 回答
81 浏览

concurrency - 如何在 CLOJURE 中使用名称和值并行创建多个代理(for?或 map?)?

我正在尝试制作一堆代理。个人可以这样做:

但是如果我想制作很多代理,如何在匿名函数中为代理分配名称和值?我有这个:

这产生了 50 个代理,但没有一个具有价值。当我尝试匿名函数时:

它不起作用。任何帮助将不胜感激。

0 投票
1 回答
46 浏览

arrays - 通过并行赋值为变量子集分配一个公共值

在 Ruby 中,我一直在寻找一个优雅的单行语句来为多个变量(但不是全部)分配一个通过方法调用从数组返回的公共值。

目标的关键是转换两行语句,例如:

进入:a, x, y = 1, 2, 2 无需对重复值进行硬编码。因此a得到一个值 (1),xy两者共享一个共同值 (2)。

要将示例扩展为用例,假设我们不是直接分配 values 1, 2,而是通过从方法调用返回的数组分配我们的值:

这与第一个代码示例的结果相同,我们可以用变量替换整数以使赋值动态化。

你能推荐一些技术来把这个任务合并到一行中吗?到目前为止,我考虑过以下几个选项:

对于那些不熟悉并行分配的人,这篇 SO 帖子涵盖了标准用法。