【发布时间】:2012-07-29 07:10:18
【问题描述】:
我正在尝试根据各个值在某个范围内的位置将整数数组分组到哈希中。基本上我想将数组转换为固定宽度的直方图。
示例:
values = [1,3,4,4,4,4,4,10,12,15,18]
bin_width = 3
我需要将数组值分组为一个基于范围的直方图,按它们落入 3 单位宽的桶的位置,如下所示:
{'0..2'=>[1,3],'3..5'=>[4,4,4,4,4],'6..8'=>[],'9..11'=>[10]....
是否有一种简单的单行解决方案(可能类似于values.group_by{|x| #range calc})可以在这里工作?
【问题讨论】:
-
问题:1) 我猜 3 应该在 3..5 中。 2)为什么使用字符串作为键而不是实际范围?,3)你也需要空范围?
-
不应该痴迷于写单行字。争取只涉及表达式的解决方案(就是这样,使用函数式方法)是的,担心分配节省几行,不。
标签: ruby arrays statistics histogram