【发布时间】:2018-01-31 06:04:46
【问题描述】:
我需要在数组中找到拥有“最大”权重的类别。我在环境变量中定义权重:
CATEGORY_WEIGHTS = {
"small_standard": 0,
"large_standard": 1,
"small_oversize": 2,
"medium_oversize": 3,
"large_oversize": 4
}
在本例中,“最大”加权类别为large_oversize。
我正在检查的数组如下所示:
categories = [
"small_oversize",
"large_standard",
"small_standard",
"large_oversize"
]
但是当我这样做时,它不会返回正确的值:
max_category = categories.max_by{ |cat| CATEGORY_WEIGHTS[cat] }
它返回small_oversize 而不是large_oversize。
我误入歧途了?
【问题讨论】:
-
在哈希声明中,
"x": y变为:x => y。对于实际的字符串键:"x" => y.
标签: ruby-on-rails arrays ruby dictionary max