ruby - 为什么我们没有一个 group_by!在 ruby​​ 可枚举模块中?

标签 ruby syntax

为什么我们没有 group_by 是有原因的!可枚举模块中的方法。为什么我必须这样做:

something = something.group_by(&:attr)

对比

something.group_by!(&:attr)

最佳答案

因为 group_by 可以改变变量的类型(而变量方法不能这样做)。

例如:

something = [1,2,3,4,4] 
# something is Array

something = something.group_by{|x| x % 2 } 
# => {1=>[1, 3], 0=>[2, 4, 4]}
# now something is a Hash

关于ruby - 为什么我们没有一个 group_by!在 ruby​​ 可枚举模块中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17136308/

相关文章:

ruby - 就地进度输出到控制台 : How to empty the current line

ruby-on-rails - Ruby On Rails Mongoid 分组依据

Python:for语句行为

asp.net - 未将对象引用设置为对象的实例(NullreferenceException 未由用户代码处理)

mysql - 如何修复MySQL错误#1064?

ruby-on-rails - Rails 是否必须延迟加载所有内容?或者是吗?

ruby-on-rails - 帮助解决 'Missing these required gems: error'

ruby - 如何将数组转换为 Ruby 中的字典?

gcc - yacc 中的 %left 和 %right

python - 你如何在 Python 中表达二进制文字?