为什么 sort_by 会改变我的数组元素?

问题描述

我希望 sort_by 的应用程序会更改顺序,但不会更改数组的其他内容

这是我的原话:

gon.frames = @job.sequence.frames.sort_by(&:n)

还有一个修改过的行,其中 sort_by 被删除

gon.frames = @job.sequence.frames

我发现 gon.frames 中的值(使用 gon gem 传输到浏览器)不同,不仅顺序不同,而且它们转换为字符串的方式也不同。

这个问题似乎是在升级到 ruby​​ 3.0.0 后出现的。

编辑:使用 Rails 控制台检查显示第一行返回类型 Array,而第二行返回类型 ActiveRecord::Associations::CollectionProxy。

我仍然很困惑,因为在我最近升级并更改为 ruby​​ 3.0.0 之前,这似乎并没有发生。

编辑 - 不确定这里的根本原因是什么,但我回滚到 ruby​​ 2.6.1 并且问题消失了。

编辑 - 我认为我经历的变化可能与 frames 的类型无关。相反,当使用 ruby​​ 3.0.0 时,gon 可能会以不同的方式将此变量传递给浏览器。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...