ruby-on-rails - Rails group_by 是否已弃用?

标签 ruby-on-rails ruby

我有一个要分组的数组,“group_by”函数似乎适合我的情况。

http://apidock.com/rails/Enumerable/group_by

我在 Rails 3.2.13 中使用它。

grouped_array = my_array.group_by(&:my_function)

# Assume run 'my_function' have result1 on element1, element3 and result2 on element2, element4, then: 
    # grouped_array = {
    #    result1 => [element1, element3],
    #    result2 => [element2, element4],
    #    ...
    # }

但我看到它在 4.0.2 中已被弃用。

我应该使用哪个函数?

最佳答案

它没有被弃用。

1.8.7 之前的 Ruby 没有内置 group_by,所以 Rails 添加了它。 Ruby 1.8.7 添加了 group_by,但是 rails group_by 返回有序散列,而 ruby​​ 1.8.7 返回普通散列(因为 ruby​​ 1.8.7 中还没有有序散列),所以 rails 继续覆盖方法。

Ruby 1.9 确实有 group_by,所以 rails 不再需要覆盖它,但是这段代码留在那里供仍在运行 1.8.7 的人使用。

Rails 4 放弃了对 ruby​​ 1.8.7 的兼容性,因此从 rails 中删除了这样的代码。它没有被弃用,但它不再出现在 Rails 中,因为它已成为 ruby​​ 标准库的一部分。

关于ruby-on-rails - Rails group_by 是否已弃用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25324867/

相关文章:

ruby-on-rails - React on Rails Gem - 工头雷神冲突

ruby-on-rails - Ruby 模型仅显示 key=value 的数据

ruby-on-rails - 仅显示上周创建的帖子

ruby-on-rails - 使用 Mina 部署 Rails5 应用程序的部署问题。挂起更新符号链接(symbolic link)

ruby-on-rails - rails Carrierwave 和 s3 : wrong number of arguments (2 for 1)

ruby-on-rails - Ruby - 忽略 protected 属性

ruby - 复杂地操纵哈希数组的顺序

ruby-on-rails - DatabaseCleaner 似乎不会在诉讼之间清理

ruby - 在 rails3 中使用回形针 gem

ruby-on-rails - Ruby:如何为我的枚举中的第一个常量获取 -1 的值?