问题标签 [commutativity]

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 投票
1 回答
89 浏览

r - 为什么 convolve() 不能交换?最终结果取决于卷积的顺序

卷积应该是可交换的——操作的顺序应该无关紧要。因此,此示例创建了三个 beta PDF,然后以三个不同的顺序对它们进行卷积。卷积 1 和 3 产生相同的结束函数。但是,卷积 2 会产生不同的结束函数。他们当然应该是一样的吗?

0 投票
1 回答
170 浏览

apache-spark - Spark 中的 coalesce + orderBy 是可交换的吗?

我想运行以下代码:

但它的执行显然会成为完成所有排序工作的单个任务的瓶颈。

我知道可以运行以下命令:

但是我不确定 Spark 是否会在分区折叠后保持排序。可以?

如果这样的话,第二个代码将是首选,因为排序将在分布式执行后合并结果,但我担心它可能无法正确保存。

如果它保留,这将意味着两者是可交换的!

0 投票
2 回答
85 浏览

python-3.x - @lru_cache 在具有交换参数的函数上

我正在计算 2 个字符串之间的汉明距离,其中Hamming(A,B) == Hamming(B,A)

函数签名是

如何修改@lru_cache 或在索引缓存时忽略参数顺序的函数?

0 投票
4 回答
65 浏览

ruby - Ruby 中相等运算符的顺序重要吗?

我在我的 Ruby 程序中使用了 bcrypt 库。我注意到相等运算符的顺序似乎很重要。根据'=='左侧或右侧的变量,我得到不同的结果。这是一个示例程序:

问候尚德

0 投票
1 回答
116 浏览

rust - 在 Rust 特征绑定中需要交换操作

假设我有一组相关的非标量结构,其中定义了交换算术运算。例如,

我想利用这个操作在这组结构上实现一个特征。也就是说,我想要以下内容:

但是,这目前无法编译,因为超级特征绑定不包括f64to的左侧添加Self。我的问题是:我怎样才能陈述这个交换特征绑定?

游乐场链接。)

编辑:要清楚,我知道这一点right_add并且left_add具有相同的输出。我主要对根据编译器不必记住哪个是“正确”的人体工程学感兴趣。此外,我很想知道如何做到这一点,即使这不是绝对必要的。

0 投票
2 回答
704 浏览

r - 添加 NA 和计算为 NaN 的表达式会根据顺序返回不同的结果,是否违反交换属性?

我正在研究 R 中数值运算的极端情况。我遇到了以下涉及零除以零的特殊情况:

reprex 包于 2021-07-10 创建 (v2.0.0 )

会话信息

这显然违反了加法的交换性。我有两个问题:

  1. 是否有基于 R 语言定义的这种行为的解释?

  2. 是否有其他违反加法交换属性的示例(包括其他语言),不涉及 addend 子表达式中的副作用?

0 投票
1 回答
21 浏览

javascript - 函数调用的 JavaScript 交换行为。需要指示幕后究竟发生了什么

我有以下代码,想用不纯函数检查交换属性。谁能解释为什么前两个控制台日志打印 3、3 以及为什么直接函数调用打印 3 和 -3?

任何建议/解释表示赞赏。

0 投票
2 回答
68 浏览

function - 在haskell中将列表映射到具有非交换函数的值

您好,我在haskell中有一个函数 foo (Int -> Int -> Int) ,我想将列表 [1..y] 的每个元素映射到一个值 x ,我通常会这样做:

问题是我的函数不是可交换的,所以我真正想做的是这样的(注意前面的语法不正确):

所以基本上我想传递我的函数列表的每个元素并将每个元素映射到 x 但值 [1..y] 需要在函数的左侧。请注意,foo需要两个 Int 作为参数。我相信haskell在它的存储库中有一些技巧,你能帮我吗:)?